تحويل القائمة (List) إلى مصفوفة (Array) في Java: كيف يتم ذلك بشكل صحيح؟
مرحباً بالجميع! أنا بدأت للتو في تعلم Java وواجهت هذه المشكلة. لدي ArrayList يحتوي على نصوص (Strings)، وأحتاج إلى تحويله إلى مصفوفة عادية من نوع String[] لتمريرها إلى دالة قديمة تقبل المصفوفات فقط.
لقد كتبت هذا الكود:
```java
List list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
// المحاولة 1: مجرد تعيين
String[] array = list; // خطأ في الترجمة: incompatible types
// المحاولة 2: استخدام toArray()
String[] array2 = list.toArray(); // خطأ: Object[] cannot be converted to String[]
```
الخيار الأول لا يعمل لأن List هي واجهة (interface) وليست مصفوفة. الخيار الثاني يُرجع Object[] وليس String[]، على الرغم من أن القائمة تحتوي فقط على نصوص. لقد قرأت أنه يمكن استخدام