Unmodified, immutable, a Hibernate

Unmodified, immutable, a Hibernate
A1
  • Rejestracja:około 14 lat
  • Ostatnio:około 11 lat
  • Postów:21
0
Kopiuj
List<O> uList =  Collections.unmodifiableList(new ArrayList<O>(list));
uList.add(new O()); //exception - nie przejdzie
ale
uList.get(0).setA(2);- ale to juz tak, moge zmodyfikowac elementy listy...

Po co takie zabezpieczenie, gdzie to mozna uzyc ?
Google dostarcza w swojej bibliotece ImmutableList, jest ona bezpieczna watkowo, ale czy nie pozwoli zmodyfikowac swoich elementow ?
Piszac gettery zwracajace listy elementow w Hibernacie, ktore listy najlpeiej stosowac i dlaczego ?

Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:21 dni
  • Lokalizacja:Stacktrace
  • Postów:6821
0

ponieważ niemodyfikowalna jest kolekcja jako taka, a nie obiekty w niej znajdujące się. Zatem wywołując get(0) pobierasz, operacja dozwolona, obiekt, który można modyfikować.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.