Questão básica de java

O código abaixo, quando executado, NÃO terá 2 objetos da classe string.

String a = “HI”;
String b = “BYE”;
b=null;
a=b;

PORQUE?
A STRING ‘b’ NÃO É CRIADA POR CAUSA DO NULL? OU A STRING ‘a’ RECEBE UM ENDEREÇO PRA ‘b’ AO INVÉS DE SER CRIADA? OS 2? NENHUM DOS 2?

grato,

vc só tem uma string quando fizer String s = new String();

se fizer String a = “abc” estará se referenciado a um pool de string. Não a um objeto do tipo String. meio loko isso em java.

http://www.guj.com.br/java.tutorial.artigo.103.1.guj

Não entendi a sua dúvida, pode explicar melhor? :?

Simplesmente porque o código NÃO terá 2 objetos da classe string?

em lugar nenhum vc criou um objeto, vc tem uma variavel com um endereço de referencia que eh diferente de ter um objeto!
Segundo a kathy sierra se cria objetos com new :smiley: