Colección de citas famosas - Colección de poesías - Los valores del diccionario se sobrescribirán.

Los valores del diccionario se sobrescribirán.

La colección ArrayList contiene el mismo valor, que puede ser la misma referencia o el mismo valor.

ArrayList<Object>list = new ArrayList<Object>();

Objeto obj

for(int I = 10; i& gt0;i- ) {

obj = nuevo objeto();

//obj = otro obj;

list.add(obj);

p>

}

Como se mencionó anteriormente, se agrega la misma referencia cada vez y el objeto de referencia apunta a un objeto diferente.

El resultado es que todos los valores de la colección son obj, y el lugar señalado por obj es el valor de la colección.

Involucrar nuevo objeto.

for (int I = 10; i>0;i-) {

? Objeto obj = nuevo Objeto();

? objt.set(I);

list.add(obj);

Estudiantes de clase pública {

ID de cadena estática privada;

Nombre de cadena estática privada;

Estudiante público (ID de cadena, nombre de cadena) {

this.id = id

this.name = nombre

}

}

Array List & ltStudent& gtlist = new ArrayList & ltStudent& gt();

Estudiante s1 = nuevo estudiante ("1" , "Zhang San");

Estudiante s2 = nuevo estudiante ("2", "Li Si");

//

lista agregar (. s 1);

list . add (S2);

// Si genera dos objetos, encontrará que ambos son John Doe.

//O como esto

¿Lista de matriz & ltstudents>list? =nueva lista de matriz<students>();

for(int I = 10;i>0;i-) {

list.add(nuevos estudiantes(I, "Nombre"));

}

//Si se generan todos los objetos, su identificación es 1.

Lo anterior es la segunda situación. Aunque cada add() sea un objeto diferente, el resultado se sobrescribirá de todos modos. ¿Por qué?

* * * *estático* * * (en la clase Estudiante) es este modificador.

Establezca la propiedad modificada en estática.

Esto significa que todos los objetos de esta clase comparten la misma propiedad.

Así, aunque haya diferentes objetos en la colección, las propiedades de los objetos siguen teniendo el mismo valor.

Modifica cualquiera de ellos, y los demás también serán "modificados"