在ArrayList上调用.toArray(1)时发生Java编译错误

在ArrayList上调用.toArray(1)时发生Java编译错误,java,arraylist,Java,Arraylist,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]); } 我已经导入了列表接口和ArrayList类。toArrayL

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]);
}

我已经导入了列表接口和ArrayList类。toArrayList似乎可以完美地与ArrayList配合使用,但不能与List配合使用。

您有几个错误,尤其是这会导致编译错误:l.toArray1。要解决这些问题,请确保导入了正确的类和接口:

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]);
}

你能包括错误信息吗?我猜你对这句话有意见:

as = l.toArray( 1 );
看起来它会抛出一个铸造错误,所以请尝试以下操作

String[] as;
as = (String[]) l.toArray();

您的权利,先生…您编写的上述代码可以编译,但它会生成一个异常ClassCastException。。。。
String[] as;
as = (String[]) l.toArray();