Pessoal,
Tenho o seguinte problema
Vejam o códigopublic class TestesDoErick {
public static void main(String[] args) {
Integer a = 1;
System.out.println(a);
TestesDoErick t = new TestesDoErick();
t.troca(a);
// Porque o valor atribuido na variável a no método troca não exibido?
System.out.println(a);
}
public void troca(Integer i) {
i = 123;
}
}
E o seguinte:
public class TestesDoErick {
public static void main(String[] args) {
R r = new R();
r.i = 1;
System.out.println(r.i);
TestesDoErick t = new TestesDoErick();
t.troca(r);
// Quando o Integer é um atribudo de um objeto o valor aparece
System.out.println(r.i);
}
public void troca(R r) {
r.i = 123;
}
}
class R {
Integer i;
}
Porque no primeiro código aonde a variável é um Integer o valor não 'fica' na variável depois de atribuir no outro método, mas no segundo código fica?
Obrigado
[]s