Avatar ·

Convertendo ArrayList<String> para String[] em Java: como fazer corretamente?

Olá a todos! Sou novo em Java e me deparei com este problema. Tenho um ArrayList<String> que armazena nomes de usuários. Preciso passar esta lista para um método que aceita apenas String[] (array de strings). Tentei simplesmente fazer um cast, mas o compilador reclama. Aqui está meu código:

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> names = new ArrayList<>();
        names.add("Anna");
        names.add("Pedro");
        names.add("Maria");

        // Tentando converter para array
        String[] namesArray = (String[]) names; // Erro de compilação!
        
        processNames(namesArray);
    }

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

Recebo o erro: java.lang.ClassCastException: java.util.A