Collections.emptyList () vs. Instance Daftar Baru

1. Perkenalan

Dalam tutorial singkat ini, kami akan mengilustrasikan perbedaan antara Collections.emptyList () dan contoh daftar baru.

2. Kekekalan

Perbedaan inti antara java.util.Collections.emptyList () dan daftar baru misalnya ArrayList () baru adalah kekekalan.

Collections.emptyList () mengembalikan daftar ( java.util.Collections.EmptyList ) yang tidak dapat diubah.

Saat membuat instance daftar baru, Anda dapat memodifikasinya bergantung pada implementasinya:

@Test public void givenArrayList_whenAddingElement_addsNewElement() { List mutableList = new ArrayList(); mutableList.add("test"); assertEquals(mutableList.size(), 1); assertEquals(mutableList.get(0), "test"); } @Test(expected = UnsupportedOperationException.class) public void givenCollectionsEmptyList_whenAdding_throwsException() { List immutableList = Collections.emptyList(); immutableList.add("test"); }

3. Pembuatan Objek

Collection.emptyList () membuat instance daftar kosong baru hanya sekali , seperti yang ditunjukkan dalam kode sumber:

public static final List EMPTY_LIST = new EmptyList(); public static final  List emptyList() { return (List) EMPTY_LIST; }

4. Keterbacaan

Ketika Anda ingin secara eksplisit membuat daftar kosong, maka Collections.emptyList () mengekspresikan maksud aslinya dengan lebih baik, misalnya ArrayList () baru .

5. Kesimpulan

Dalam artikel to the point ini, kami telah fokus pada perbedaan antara Collections.emptyList () dan contoh daftar baru.

Seperti biasa, kode sumber lengkap tersedia di GitHub.