entendo que o Java sempre trabalha com ponteiros, ao contrário de C++ que tanto pode ter objetos quanto ponteiros para objetos. Então se eu fizer:
String str1 = "valor 1";
String str2 = "valor 2";
str2 = str1;
Entendo que estaria passando para str2 o endereço de str1.
Mas quando eu atribuo um valor diretamente para o objeto, como no exemplo abaixo:
String nome = "Alano";
nome = "Luiz";
System.out.println(nome);
Qual seria o comportamento em relação às referências, uma vez que a impressão foi, neste caso, "Luiz"?