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