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.