Collections.emptyList () u odnosu na instancu novog popisa

1. Uvod

U ovom kratkom vodiču ilustrirat ćemo razliku između Collections.emptyList () i novu instancu popisa.

2. Nepromjenjivost

Suštinska razlika između java.util.Collections.emptyList () i novi popis na pr. novi ArrayList () je nepromjenjivost.

Collections.emptyList () vraća popis (java.util.Collections.EmptyList) koji se ne mogu mijenjati.

Prilikom stvaranja nove instance liste možete je izmijeniti, ovisno o implementaciji:

@Test javna praznina givenArrayList_whenAddingElement_addsNewElement () {Popis mutableList = novi ArrayList (); mutableList.add ("test"); assertEquals (mutableList.size (), 1); assertEquals (mutableList.get (0), "test"); } @Test (očekuje se = UnsupportedOperationException.class) javna praznina givenCollectionsEmptyList_whenAdding_throwsException () {Popis imutableList = Collections.emptyList (); immutableList.add ("test"); }

3. Stvaranje predmeta

Collection.emptyList () kreira novu instancu praznog popisa samo jednom, kao što je prikazano u izvornom kodu:

javni statički konačni popis EMPTY_LIST = novi EmptyList (); javni statički konačni popis emptyList () {return (Popis) EMPTY_LIST; }

4. Čitljivost

Tada želite eksplicitno stvoriti prazan popis Collections.emptyList () izrazio izvornu namjeru bolje npr. novi ArrayList ().

5. Zaključak

U ovom detaljnom članku usredotočili smo se na razlike između Collections.emptyList () i novu instancu popisa.

Kao i uvijek puni izvorni kod dostupan je na GitHub-u.