w tym artykule przedstawiono różnicę między zmiennymi i niezmiennymi obiektami w Javie
1. Zmienny obiekt-można zmieniać stany i pola po utworzeniu obiektu. Na przykład: StringBuilder
, java.util.Date
itd.
2. Obiekt niezmienny – nie można niczego zmienić po utworzeniu obiektu. Przykłady: String
, pudełkowe prymitywne obiekty, takie jak Integer
, Long
i itp.
Java Mutable Example
zwykle dostarcza metody do modyfikowania wartości pola, a obiekt może być rozszerzony.
mkyongnew mkyong
Java Immutable Example
aby utworzyć niezmienny obiekt, uczyń klasę ostateczną i nie udostępniaj żadnych metod modyfikowania pól.
wyjście
mkyong
obiekt niezmienny jest prosty, bezpieczny dla wątków (bez potrzeby synchronizacji), mniej podatny na błędy i bardziej bezpieczny. Jeśli to możliwe, niech wszystkie obiekty będą niezmienne.
P. S proszę odnieść się do efektywnej Książki Java-pozycja 15: Minimalizuj zmienność.
- Mutable vs immutable objects
- Immutable objects as per java docs
mkyong
założyciel Mkyong.com, uwielbiam Javę i open source. Śledź go na Twitterze. Jeśli podoba Ci się moje tutoriale, rozważ darowiznę na te organizacje charytatywne.