Avatar ·

Convertir ArrayList<String> a String[] en Java: ¿cómo hacerlo correctamente?

¡Hola a todos! Soy nuevo en Java y me encontré con este problema. Tengo un ArrayList<String> que almacena nombres de usuarios. Necesito pasar esta lista a un método que solo acepta String[] (array de strings). Intenté simplemente hacer un cast, pero el compilador se queja. Aquí está mi código:

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> names = new ArrayList<>();
        names.add("Анна");
        names.add("Петр");
        names.add("Мария");

        // Intento convertir a array
        String[] namesArray = (String[]) names; // ¡Error de compilación!
        
        processNames(namesArray);
    }

    public static void processNames(String[] names) {
        for (String name : names) {
            System.out.println(name);
        }
    }
}

Recibo el error: java.lang.ClassCastException: java.util.A