Seguinte, estou estudando para certificação e estou com algumas duvidas…
Este código abaixo, ele true, pois os enderecos de memoria são iguais para os 2. certo?
String x = "Teste";
String y = "Teste";
String a = new String("Teste2");
//a = y;
System.out.println(x == y);
Neste 2º caso, ele será falsa, pois cria um novo endereco de memória.
String x = "Teste";
String y = "Teste";
String a = new String("Teste");
System.out.println(x == a);
Neste 3º exemplo ele me retorna true, o certo não seria, naquela atribuição a = y eu dizer que o valor de y (teste) passa a ser o mesmo valor de a que antes erá (teste2)…
String x = "Teste";
String y = "Teste";
String a = new String("Teste2");
a = y
System.out.println(y == a);
o que ele esta fazendo é atribuindo o mesmo endereco de memoria do y em a, como faço para mudar apenas o valor e não o endereço… :?