我想把一个数组转换成一个List,具体情况如下:
我有一个Object数组,假设来自如下代码:
Object[] os = xx.getXXX();
但实际上我的Object数组中每个元素都是一个A类型的实例,现在我要把这个Object数组转换成一个List。
有一种转换方法就是在循环里,把每一个元素从数组中取出,强转成A后,加入List中。
感觉上这样效率很低,请问有没有高效一点的方法。
我给你写了个例子,你看满意不?
我以String为例
public class Main {
private static Object[] getArrays() {
return new String[]{"123", "456"};
}
public static void main(String[] args) {
String[] obs = (String[]) getArrays();
List<String> list = Arrays.asList(obs);
}
}
我是在JDK1.6中试过的,没有问题,我觉得JDK1.5应该也没问题
你抛出的异常也许说明Object数组中的元素是不是都是A呢?不要说觉得是,强烈建议你先仔细检查一下.
另外你可以这样试
Object[] objs=new A[]{new A(),new A()};
你再转换...
只要元素是A及其子类,应该是不会出异常的