Java编译时错误:“找不到符号”
ArrayList<String> al= new ArrayList<String>();
List l=new ArrayList(al);
l.add("renu");
String [] as=new String[1];
as=l.toArray(1);
for (int i=0;i<1;i++) {
System.out.println(as[i]);
}
我导入了List
接口和ArrayList
类。 toArrayList
似乎与ArrayList
完全兼容,但与List
无关。
答案 0 :(得分:2)
你有几个错误,特别是这会导致编译错误:l.toArray(1)
。要修复它们,让我们确保您正在导入正确的类和接口:
import java.util.ArrayList;
import java.util.List;
现在,让我们试试这段代码:
List<String> al = new ArrayList<String>();
al.add("renu");
String[] as = new String[1];
as = al.toArray(as); // this is how we convert a List into an array
for (int i = 0; i < as.length; i++) {
System.out.println(as[i]);
}
作为旁注,您实际上不必将List
转换为数组来迭代它,以下代码是等效的,是一个更好的选择:
List<String> al = new ArrayList<String>();
al.add("renu");
for (String s : al) {
System.out.println(s);
}
答案 1 :(得分:0)
可以包含错误消息吗?我的猜测是你在这条线上遇到了问题:
as = l.toArray( 1 );
看起来它会抛出一个转换错误,所以尝试像
这样的东西String[] as;
as = (String[]) l.toArray();