Collections.emptyList () vs. Új lista példány
1. Bemutatkozás
Ebben a rövid bemutatóban bemutatjuk a különbséget Collections.emptyList () és egy új listapéldány.
2. Megváltozhatatlanság
Az alapvető különbség a java.util.Collections.emptyList () és egy új lista pl. új ArrayList () változhatatlanság.
Collections.emptyList () listát ad vissza (java.util.Collections.EmptyList), amelyet nem lehet módosítani.
Új listapéldány létrehozásakor módosíthatja azt a megvalósítástól függően:
@Test public void givenArrayList_whenAddingElement_addsNewElement () {List mutableList = new ArrayList (); mutableList.add ("teszt"); assertEquals (mutableList.size (), 1); assertEquals (mutableList.get (0), "teszt"); } @Test (várható = UnsupportedOperationException.class) public void givenCollectionsEmptyList_whenAdding_throwsException () {List immutableList = Collections.emptyList (); immutableList.add ("teszt"); }
3. Tárgy létrehozása
Collection.emptyList () csak egyszer hoz létre új üres listapéldányt, a forráskód szerint:
public static final List EMPTY_LIST = new EmptyList (); public static final Lista emptyList () {return (List) EMPTY_LIST; }
4. Olvashatóság
Amikor kifejezetten üres listát szeretne létrehozni, akkor Collections.emptyList () jobban kifejezte az eredeti szándékot pl. új ArrayList ().
5. Következtetés
Ebben a lényegre törő cikkben a Collections.emptyList () és egy új listapéldány.
Mint mindig, a teljes forráskód elérhető a GitHubon.