Collections مبتدئ

أنشئ نسخة ثابتة من أي مجموعة في استدعاء واحد.

✕ Java 8
List<String> copy =
    Collections.unmodifiableList(
        new ArrayList<>(original)
    );
✓ Java 10+
List<String> copy =
    List.copyOf(original);
هل ترى مشكلة في هذا الكود؟ أخبرنا.

نسخ ذكي

يتجاوز النسخ إذا كان المصدر ثابتاً بالفعل.

📏

استدعاء واحد

لا حاجة لإنشاء ArrayList يدوياً ثم تغليفه.

🛡️

نسخة دفاعية

التغييرات في المصدر لا تؤثر على النسخة.

الأسلوب القديم
نسخ يدوي + تغليف
الأسلوب الحديث
List.copyOf()
منذ JDK
10
الصعوبة
مبتدئ
نسخ المجموعات بصورة ثابتة
متاح

متاح على نطاق واسع منذ JDK 10 (مارس 2018)

تُنشئ List.copyOf() و Set.copyOf() و Map.copyOf() نسخاً ثابتة من المجموعات الموجودة. إذا كان المصدر مجموعةً ثابتةً بالفعل فلن تُنشأ نسخة.

مشاركة 𝕏 🦋 in