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.