将ArrayList<String>转换为String[]在Java中:如何正确操作?
大家好!我是Java新手,遇到了一个问题。我有一个ArrayList<String>,里面存储了用户名。我需要将这个列表传递给一个只接受String[](字符串数组)的方法。我尝试直接进行类型转换,但编译器报错了。这是我的代码:
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> names = new ArrayList<>();
names.add("安娜");
names.add("彼得");
names.add("玛丽亚");
// 尝试转换为数组
String[] namesArray = (String[]) names; // 编译错误!
processNames(namesArray);
}
public static void processNames(String[] names) {
for (String name : names) {
System.out.println(name);
}
}
}
我收到了错误:java.lang.ClassCastException: java.util.A