Quina diferència hi ha entre Mutable i Immutable In Java?



Aquest article sobre Mutable and Immutable in Java és una guia completa sobre les diferències entre ells i també discuteix per què les cadenes Java són immutables.

Java és un dels més populars proporciona diversos conceptes per a la creació d'aplicacions, i un d'aquests conceptes és Mutable And Immutable in Java. Bé, aquest concepte es basa en fer canvis als camps després de la creació de l'objecte i, per tant, facilita la programació per a . Per tant, en aquest article sobre mutables i immutables a Java, parlaré dels temes següents:

Què és l'objecte mutable?





per a què serveix la programació de sockets

Els objectes en què podeu canviar els camps i els estats després de la creació de l'objecte es coneixen com a objectes mutables. Exemple : java.util.Date, StringBuilder, etc.

Què és un objecte immutable?



El objectes en què no es pot canviar res una vegada que es crea l'objecte, es coneixen com a objectes immutables. Exemple : Objectes primitius en caixa com Enter, Long i etc.

Per tant, ara que ja sabeu què és mutable i immutable a Java, anem a avançar i veurem les diferències entre els dos.

Diferència entre objectes mutables i immutables



Podeu consultar la taula següent per veure les diferències entre objectes mutables i immutables a Java.

Mutable Immutable
Els camps es poden canviar després de la creació de l'objecteEls camps no es poden canviar després de la creació d'objectes
Generalment proporciona un mètode per modificar el valor del campNo té cap mètode per modificar el valor del camp
Té mètodes Getter i SetterNomés té el mètode Getter
Exemple: StringBuilder, java.util.DateExemple: cadena, objectes primitius en caixa com Integer, Long i etc.

Ara que ja coneixeu les diferències entre objectes mutables i immutables, analitzem com crear-los classes.

Com es crea una classe Mutable?

Per crear una classe mutable a Java, heu d'assegurar-vos que es compleixen els requisits següents:

  1. Proporcioneu un mètode per modificar els valors del camp
  2. Mètode Getter i Setter

Penseu en el codi següent:

paquet edureka exemple de classe pública {private String coursename example (String coursename) {this.coursename = coursename} public String getName () {return coursename} public void setName (String coursename) {this.coursename = coursename} public static void main (String [] args) {exemple obj = nou exemple ('Machine Learning') System.out.println (obj.getName ()) // actualitzeu el nom, aquest objecte es pot modificar Sistema obj.setName ('Machine Learning Masters'). out.println (obj.getName ())}}

Veureu la següent sortida:

Sortida d

tutories del servidor Microsoft SQL per a principiants

Ara que ja sabeu com crear una classe mutable, a continuació, en aquest article, analitzem com crear una classe immutable.

Com es crea una classe Immutable?

Per crear una classe immutable a Java, heu d'assegurar-vos que es compleixen els requisits següents:

  1. Una classe s'ha de declarar com a final de manera que no es pugui ampliar.
  2. Tots els camps s'han de fer privats perquè no es permeti l'accés directe
  3. No hi ha mètodes de configuració
  4. Feu que tots els camps mutables siguin finals, de manera que només es puguin assignar una vegada.
package edureka public class exampleimmutable {private final String coursename exampleimmutable (final String coursename) {this.coursename = coursename} public final String getName () {return coursename} public static void main (String [] args) {example obj = new example ( 'Aprenentatge automàtic') System.out.println (obj.getName ())}}

Veureu la sortida següent:

Molt bé, ara que ja coneixeu els objectes mutables i immutables, permeteu-me dir-vos que les cadenes són immutables a Java. Ara, estic segur que això podria haver plantejat una pregunta sobre per què les cadenes són immutables a Java. Per tant, a continuació, en aquest article, vegem el mateix.

rols i responsabilitats del mestre scrum pdf

Per què les cadenes són immutables a Java?

Java utilitza els conceptes de . Per tant, si teniu en compte un exemple en què teniu moltes variables de referència que fan referència a un sol objecte, fins i tot si una variable de referència canvia el valor de la objecte , automàticament es veuran afectades totes les altres variables de referència. També, segons Java eficaç ,capítol 4, pàgina 73, 2a edició, els motius següents per utilitzar classes immutables són els següents:

  • Els objectes immutables són simples
  • Aquests objectes no requereixen sincronització i són intrínsecament segurs de fils
  • Els objectes immutables constitueixen bons blocs de construcció per a altres objectes

Si us he d’explicar amb un exemple,

Diguem que teniu una variable mostreig , que emmagatzema la cadena ' Aprenentatge automàtic “. Ara, si concateneu aquesta cadena amb una altra cadena ' Mestres ', llavors l'objecte creat per a ' Aprenentatge automàtic ”No canviarà. En lloc d'això, es crearà un objecte nou per a ' Màsters d’aprenentatge automàtic “. Consulteu la imatge següent:

Com podeu veure a la imatge anterior, el fitxer mostreig la variable de referència fa referència a 'Machine Learning', però no a l'altra cadena, fins i tot després de la creació de dos objectes. Amb això, arribem al final d’aquest article sobre Mutable and Immutable in Java. Espero que tingueu clar tots els aspectes que he comentat anteriorment.

Ara que heu entès els conceptes bàsics de Java, consulteu el fitxer per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. El curs de formació i certificació Java J2EE i SOA d’Edureka està dissenyat per a estudiants i professionals que vulguin ser desenvolupador de Java. El curs està dissenyat per donar-vos un avantatge en la programació de Java i formar-vos tant per conceptes bàsics com avançats de Java, juntament amb diversos marcs Java com Hibernate i Spring

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest bloc “Mutable and Immutable in Java” i us respondrem el més aviat possible.