den här artikeln visar skillnaden mellan muterbara och oföränderliga objekt i Java
1. Mutable object – du kan ändra tillstånd och fält efter att objektet har skapats. Till exempel: StringBuilder
, java.util.Date
och etc.
2. Oföränderligt objekt – du kan inte ändra någonting efter att objektet har skapats. Exempelvis: String
, boxade primitiva objekt som Integer
, Long
och etc.
Java-muterbart exempel
normalt ger det en metod för att ändra fältvärdet och objektet kan utökas.
utgång
mkyongnew mkyong
Java Immutable Example
för att skapa ett oföränderligt objekt, gör klassen slutlig och ange inga metoder för att ändra fälten.
utgång
mkyong
oföränderligt objekt är enkelt, trådsäkert (behöver inte synkroniseras), mindre benäget för fel och säkrare. Om möjligt, gör alla objekt oföränderliga.
P. S SE effektiv Java bok-punkt 15: minimera föränderlighet.
- Mutable vs immutable objects
- Immutable objects enligt java docs
mkyong
grundare av Mkyong.com, älskar Java och open source-saker. Följ honom på Twitter. Om du gillar mina tutorials, överväga att göra en donation till dessa välgörenhetsorganisationer.