Cómo hacer referencia a elementos en una matriz en Java
Porque un array es un objeto. .
El paso de parámetros en Java es por referencia. .
Pasado a
público
b(string[]
sss, string
s){
sss[0]="bbbbb";
sss[1]="ccccc";
s="2222";
}
El sss aquí es una referencia a ese objeto de matriz. . Equivalente a un puntero. .
sss[0]="bbbbb";
sss[1]="ccccc";
Esto es equivalente a llamar al objeto de este método de matriz. . .
Es equivalente a procesar este objeto. .
Entonces el valor de este objeto ha cambiado. .
Pero string
[]
a={null, "aaaaa"}; la referencia a todavía apunta a ese objeto. . Entonces el resultado de salida es el resultado modificado. .
Si
public
b(string[]
sss, string
s){
sss[0]="bbbbb";
sss[1]="ccccc";
s="2222"; >}
Cambiar a
público
b(string[]
sss, string
s ) {
cadena[]
cadenas
=
nueva
cadena[2];
cadenas
=
nueva
cadena[2]; p>
cadenas[0]="bbbbb";
strs[1]="ccccc";
sss
=
strs;
s="2222" ;
}
En este caso, el valor de ese objeto no se cambiará.
p>Simplemente reasigna la referencia a sss para que apunte a otro objeto.
En este caso, la referencia a anterior todavía apunta a ese objeto. El valor de ese objeto no cambiará...
¿Por qué no ha cambiado el valor de? ¿Cambió el objeto de cadena? p>Y string
aa="111111"; aa todavía apunta al objeto de cadena con un valor de 111111..