日期:2014-05-20  浏览次数:20671 次

Object[]转换成String[]。。。。。。。。。。。。。。。。。
强制转换报错,如果不用for()遍历转换的话,有什么工具函数来转换么??

------解决方案--------------------
没有api直接转的 我也试过不少时间没找到
即使是一些工具类也是用for来一个一个转的
------解决方案--------------------
标准JDK类库里面没有这个API,第三方的类库当中可能有,具体实现也是for循环一个一个装换的
不过如果对象数组里面全部都是String,如果仅仅是要输出信息的话,可以不转换
Java code


import java.util.List;

/**
 * Created by IntelliJ IDEA.
 * User: admin
 * Date: 2011-10-12
 * Time: 10:55:57
 * To change this template use File | Settings | File Templates.
 */
public class TransferStrAry {
    public static void main(String[] args) {
        Object[] os={"a","b","c"};
//        List list=o.
        for(Object o:os){
            System.out.println("out:"+o);
        }
    }
}

------解决方案--------------------
你的object[]是怎么得来的
如果类似将list转成String[],即list.toArray(new String[0]);
------解决方案--------------------
应该这样调用
Java code

import java.util.List;
import java.util.ArrayList;

public class TransferStrAry {
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add("asdfasdf");
        list.add("sfh");
        list.add("345");
        String[] str =new String[list.size()];
        list.toArray(str);
        for(String s:str){
            System.out.println(s);
        }
    }
}

------解决方案--------------------
String[] str=list.toArray(new String[0]);
------解决方案--------------------
Java code

        List list = new ArrayList();
        list.add("asdfasdf");
        list.add("sfh");
        list.add("345");
        String[] str = (String[]) list.toArray(new String[0]);
        System.out.println(str.length);