java关于list的问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 04:45:29
我有一段代码,总是运行出错,请告诉我该如何修改,listLoc是现成的list,里面有现成的数据
final int size = listLoc.size();
String[] arr = (String[])listLoc.toArray(new String[size]);
请贴出代码并分析
我现在查出来这个list存放的是一个object的类型,能否转成String

import java.util.*;

public abstract class Test {

public static List test() {
List listLoc = new ArrayList();
Object obj1 = new Object();
Object obj2 = new Object();
listLoc.add(obj1);
listLoc.add(obj2);
// 以上是做出一个 Object的List而已
/*
* final int size = listLoc.size(); String[] arr =
* (String[])listLoc.toArray(new String[size]); 你这句代码报
* ArrayStoreException 是因为 List的toArray(Object [] obj)方法根本 不会接受String []
* arr 这样的String数组 你想用(String [])来向下转型为String []数组 但是这样根本不行 只能用迭代来把单个转换
* 因为java中并没有直接把一个数组转型为另一种类型数组的方法
*/

Object[] objarr = listLoc.toArray();
for (Object obj : objarr) {
listLoc.add(obj.toString());
// 把list添加String的元素
}
return listLoc;
}

public static void main(String[] args) {
System.out.println(test());
}
}

要转换成String只能用笨办法了:
Object[] obj = listLoc.toArray();