java mutabil vs imuabil

mutabil vs imuabil

mutabil vs imuabil

diferența dintre mutabil vs imuabil Java

obiectele mutabile au câmpuri care pot fi modificate, obiectele imuabile nu au câmpuri care pot fi modificate după crearea obiectului. Obiectele imuabile sunt obiecte a căror stare nu se poate schimba după ce au fost create. Mutable și imuabile sunt două categorii de obiecte în java. În acest articol, vom vedea diferențele dintre obiectele mutabile și imuabile din java. De asemenea, vom vedea exemple de cod java care arată diferențele dintre clasa mutabilă și imuabilă în java.

cap la cap comparație între Mutable vs Immutable Java (Infographics)

mai jos sunt primele 6 Diferențe între Mutable vs Immutable Java:

începeți cursul de dezvoltare software gratuit

dezvoltare Web, limbaje de programare, testare Software & altele

informații mutabile vs imuabile

informații mutabile vs imuabile

diferențe cheie între Java mutabile vs imuabile

următoarele sunt diferențe cheie între obiectele mutabile și imuabile din Java:

  • obiectele mutabile sunt acele obiecte în care putem face modificări la starea unui obiect fără a crea un obiect nou. Acesta este un obiect mutabil poate fi modificat după crearea sa. În cazul obiectelor imuabile ori de câte ori starea unui obiect este schimbat obținem un obiect nou. În timp ce ne ocupăm de obiecte imuabile, nu avem voie să schimbăm starea unui obiect după crearea sa.
  • obiectele mutabile în general oferă metode prin care conținutul obiectelor poate fi modificat, în timp ce obiectele imuabile nu oferă nicio metodă pentru schimbarea conținutului lor.
  • în clasele Java mutabile sunt prezente metode getter și setter, în timp ce în clasele imuabile sunt disponibile doar metode getter și nu metode setter.
  • clasele mutabile pot fi sau nu sigure pentru fire, în timp ce clasele imuabile sunt în mod implicit sigure pentru fire.
  • Exemple de clase mutabile în java sunt java.util.Data, StringBuffer, StringBuilder, etc întrucât clasele Java legacy, clase wrapper, clasa String sunt exemple de clase imuabile în java.

tabelul de comparație Java mutabil vs imuabil

să discutăm comparația de top între Java mutabil vs imuabil:

mutabil

imuabil

Java obiect mutabil poate fi modificat după crearea sa. obiectul imuabil Java nu poate fi modificat după crearea sa.
nici un obiect nou este format atunci când se fac modificări la un obiect existent. ori de câte ori un obiect existent este schimbat obiect nou este format.
acesta oferă metode pentru a schimba conținutul unui obiect. nu oferă metode pentru modificarea conținutului unui obiect.
metodele getter și setter sunt prezente în clasele mutabile. sunt prezente doar metode getter și nu metode setter.
clasele mutabile pot fi sau nu sigure. clasele imuabile sunt fir-safe în mod implicit.
unele exemple comune de clase mutabile în java sunt StringBuffer, StringBuilder și java.util.Data. toate clasele Legacy, clasele Wrapper, clasa String sunt exemple comune de clase imuabile în java.

java mutabil și imuabil cu exemple

java mutabil și imuabil cu exemple sunt prezentate mai jos:

exemplu #1 – clasa mutabilă în Java

acum vom vedea exemple de cod java care arată crearea de clase mutabile și imuabile în java.

Cod:

package com.edubca.mutabledemo;
public class MutableDemo {
private String studentName;
private int rollNumber;
MutableDemo (String studentName, int rollNumber) {
this.studentName = studentName;
this.rollNumber = rollNumber;
}
public String getStudentName() {
return studentName;
}
// this setter can modify the name
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public int getRollNumber() {
return rollNumber;
}
// this setter can modify roll number
public void setRollNumber(int rollNumber) {
this.rollNumber = rollNumber;
}
public static void main(String args) {
MutableDemo obj = new MutableDemo ("John" , 100);
System.out.println("Original Name is " + obj.getStudentName());
System.out.println("Original Roll Number is " + obj.getRollNumber());
// update the name, and roll number as is mutable
obj.setStudentName("James");
obj.setRollNumber(102);
System.out.println("Modified Name is " + obj.getStudentName());
System.out.println("Modified Roll Number is " + obj.getRollNumber());
}
}

ieșire:

java mutabil vs imuabil-1.1

mutabil vs imuabil Java-1.1

codul de mai sus arată crearea unei clase mutabile în java cu getters și setters.

Example #2 – Clasa imuabilă în Java

acum vom vedea cum putem crea clase imuabile în Java.

Cod:

package com.edubca.immutabledemo;
public final class ImmutableDemo {
final String studentName;
final int rollNumber;
public ImmutableDemo (String studentName, int rollNumber) {
this.studentName = studentName;
this.rollNumber = rollNumber;
}
public String getStudentName() {
return studentName;
}
public int getRollNumber() {
return rollNumber;
}
public static void main(String args) {
ImmutableDemo obj = new ImmutableDemo ("John" , 100);
// Since no getters are available contents cannot be modified.
// Also as variables are declared final they cannot be modified
System.out.println("Name is " + obj.getStudentName());
System.out.println("Roll Number is " + obj.getRollNumber());
}
}

ieșire:

java mutabil vs imuabil-1.2

java mutabil vs imuabil-1.2

codul de mai sus arată crearea clasei imuabile java. Următoarele puncte trebuie păstrate în minte în timp ce creați o clasă imuabilă:

  • o clasă imuabilă trebuie să fie finală, deoarece nu trebuie moștenită.
  • toate câmpurile unei clase imuabile ar trebui să fie definitive.
  • dacă un obiect mutabil este folosit ca un câmp într-o clasă imuabilă, atunci manipularea specială trebuie implementată astfel încât să împiedice modificarea conținutului său.
  • un constructor public ar trebui să fie prezent.
  • trebuie definite metodele Getter pentru toate variabilele.
  • metodele Setter nu ar trebui să fie prezente pentru nicio variabilă.

concluzie

din discuția de mai sus, avem o înțelegere clară a diferențelor dintre mutabil și imuabil în java. De asemenea, am văzut exemple java care arată modul în care sunt create clase mutabile și imuabile. Este important să rețineți că clasele imuabile sunt în mod implicit sigure pentru fire, în timp ce clasele mutabile pot fi sau nu sigure pentru fire.

Articole recomandate

acesta este un ghid pentru Java mutabil vs imuabil. Aici vom discuta, de asemenea, diferențele cheie Java Mutable vs imuabile cu infographics și tabelul de comparație. De asemenea, puteți arunca o privire la următoarele articole pentru a afla mai multe–

  1. java BufferedReader
  2. clasa StringBuffer în Java
  3. Java RuntimeException
  4. Java newInstance()
0 acțiuni

Lasă un răspuns

Adresa ta de email nu va fi publicată.