Pregunta sobre referencias
miércoles, abril 2, 2014 at 6:00PM
jcarmonaloeches
¿Cuál es la salida del siguiente programa y por qué? NOTA: no vale hacer uso de IDE.
package test;
import java.util.ArrayList;
import java.util.List;
/**
* Probando referencias en objetos y en string's
*
* @author Jaime Carmona Loeches
*
*/
public class Pruebas {
/**
* @param args
*/
public static void main(String[] args) {
List lista1 = new ArrayList();
lista1.add(new Objeto(1, 1));
List lista2 = new ArrayList();
lista2.add("1");
for (Objeto objeto : lista1) {
objeto.setA(2);
objeto.setB(2);
}
for (String objeto : lista2) {
objeto = "2";
}
for (Objeto objeto : lista1) {
System.out.println(objeto.toString());
}
for (String objeto : lista2) {
System.out.println(objeto.toString());
}
}
}
class Objeto {
int a = 0;
int b = 0;
public Objeto(int a, int b) {
super();
this.a = a;
this.b = b;
}
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
public int getB() {
return b;
}
public void setB(int b) {
this.b = b;
}
@Override
public String toString() {
return "Objeto [a=" + a + ", b=" + b + "]";
}
}
Article originally appeared on javaHispano (http://www.javahispano.org/).
See website for complete article licensing information.