Avatar ·

将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