Mutable vs Immutable Java

Mutable vs Uforanderlig

Foranderlig vs Uforanderlig

Forskjellen Mellom Foranderlig vs Uforanderlig Java

Foranderlige objekter har felt som kan endres, de uforanderlige objektene har ingen felt som kan endres etter at objektet er opprettet. Uforanderlige objekter er objekter hvis tilstand ikke kan endres etter at de er opprettet. Foranderlig og Uforanderlig er to kategorier av objekter i java. I denne artikkelen vil vi se forskjellene mellom mutable og uforanderlige objekter i java. Vi vil også se java-kodeeksempler som viser forskjeller mellom foranderlig og uforanderlig klasse i java.

Head To Head Sammenligning mellom Mutable vs Immutable Java (Infographics)

Nedenfor er de øverste 6 forskjellene mellom Mutable vs Immutable Java:

Start Ditt Gratis Programvareutviklingskurs

Webutvikling, programmeringsspråk, Programvaretesting & andre

Mutable vs Uforanderlig info

Mutable vs Uforanderlig info

Viktige Forskjeller mellom Mutable vs Uforanderlig Java

følgende er viktige forskjeller mellom foranderlige og uforanderlige objekter I Java:

  • Mutable objekter er de objektene der vi kan gjøre endringer i tilstanden til et objekt uten å skape et nytt objekt. Det er en foranderlig objekt kan endres etter etableringen. I tilfelle av uforanderlige objekter når tilstanden til et objekt endres, får vi et nytt objekt. Mens vi arbeider med uforanderlige objekter, har vi ikke lov til å endre tilstanden til et objekt etter opprettelsen.
  • Foranderlige objekter i generelle tilfeller gir metoder der objektets innhold kan endres, mens uforanderlige objekter ikke gir noen metode for å endre innholdet.
  • i mutable java klasser getter og setter metoder er til stede, mens i uforanderlige klasser bare getter metoder er tilgjengelige og ikke setter metoder.
  • Mutable klasser kan eller ikke være trådsikre, mens uforanderlige klasser som standard er trådsikre.
  • Eksempler på foranderlige klasser i java er java.util.Dato, StringBuffer, StringBuilder, etc mens java legacy klasser, wrapper klasser, Streng klasse er eksempler på uforanderlige klasser i java.

Foranderlig vs Uforanderlig Java Sammenligningstabell

la oss diskutere toppsammenligningen mellom Foranderlig Vs Uforanderlig Java:

Mutable

Uforanderlig

Java Foranderlig objekt kan endres etter etableringen. Java Uforanderlig objekt kan ikke endres etter opprettelsen.
det dannes ikke noe nytt objekt når det gjøres endringer i et eksisterende objekt. når et eksisterende objekt endres, dannes et nytt objekt.
Det gir metoder for å endre innholdet i et objekt. det gir ikke metoder for å endre innholdet i et objekt.
Getter og setter metoder er til stede i foranderlige klasser. bare getter-metoder er til stede og ikke setter-metoder.
Mutable klasser kan eller ikke kan være trådsikker. Uforanderlige klasser er trådsikre som standard.
noen vanlige eksempler på foranderlige klasser i java Er StringBuffer, StringBuilder og java.util.Dato. Alle Eldre klasser, Wrapper klasser, Streng klasse er vanlige eksempler På Uforanderlige klasser i java.

Foranderlig Og Uforanderlig Java Med Eksempler

Foranderlig Og Uforanderlig Java Med Eksempler er gitt nedenfor:

Eksempel #1-Foranderlig Klasse I Java

Nå vil Vi se java-kodeeksempler som viser opprettelsen av foranderlige og uforanderlige klasser i java.

Kode:

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());
}
}

Utgang:

Mutable vs Uforanderlig Java-1.1

Mutable vs Uforanderlig Java-1.1

ovennevnte kode viser opprettelsen av en foranderlig klasse i java med getters og settere.

Eksempel # 2-Uforanderlig Klasse I Java

Nå ser Vi hvordan vi kan lage uforanderlige klasser I Java.

Kode:

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());
}
}

Utgang:

Mutable vs Uforanderlig Java-1.2

Mutable vs Uforanderlig Java-1.2

ovennevnte kode viser opprettelsen av java uforanderlig klasse. Følgende punkter skal holdes i bakhodet når du oppretter en uforanderlig klasse:

  • en uforanderlig klasse må være endelig da den ikke skal arves.
  • alle felt i en uforanderlig klasse skal gjøres endelige.
  • hvis et foranderlig objekt brukes som et felt i en uforanderlig klasse, må spesiell håndtering implementeres for å forhindre at innholdet endres.
  • en offentlig konstruktør bør være til stede.
  • getter-metoder for alle variablene skal defineres.
  • Setter metoder bør ikke være til stede for noen variabler.

Konklusjon

fra ovennevnte diskusjon har vi en klar forståelse av forskjellene mellom foranderlig og uforanderlig i java. Vi har også sett java-eksempler som viser hvordan foranderlige og uforanderlige klasser er opprettet. Det er viktig å merke seg at uforanderlige klasser som standard er trådsikre, mens mutable klasser kan eller ikke kan være trådsikre.

Anbefalte Artikler

Dette er en guide Til Foranderlig vs Uforanderlig Java. Her diskuterer vi Også Mutable vs Uforanderlige Java – nøkkelforskjeller med infographics og sammenligningstabell. Du kan også ta en titt på følgende artikler for å lære mer–

  1. Java BufferedReader
  2. StringBuffer Klasse I Java
  3. Java RuntimeException
  4. Java newInstance()
0 Aksjer

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.