Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/04/2008, 10:26
luz_per
 
Fecha de Ingreso: septiembre-2003
Ubicación: Morelos
Mensajes: 83
Antigüedad: 21 años, 5 meses
Puntos: 0
Certificacion java, duda

Hola!!

Me puse a estudiar para la certificación java y me encontre con varias pruebas de ejemplo y en una encontré este codigo:

public class Foo {
public static void main (String [] args) {
StringBuffer a = new StringBuffer ("A");
StringBuffer b = new StringBuffer ("B");
operate (a,b);
System.out.println(a + "," +b);
}
static void operate (StringBuffer x, StringBuffer y) {
x.append (y);
y = x;
}
}

Según esto el resultado es "AB, B" y en efecto es ese ya lo he probado pero no sé porque, pues cuando en el método operate despues de y= x imprimo "x" y "y" ambos tienen AB porque cuando los imprime en el main solo x ha conservado el valor??. Ojala puedan ayudarme, gracias!