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!