No exemplo 1 eu tenho tres variaveis (A,B,C) referenciando-se para o mesmo objeto 1.
Eu posso dizer o mesmo para os outros 3 exemplos ???
Obrigado
E
enantiomero
Integer A = 1 é um sinônimo para
Integer A = Integer.valueOf (1), que por sua vez faz o seguinte:
Se -128 <= n <= +127, retorna um Integer obtido de um array de Integer que é pré-alocado no início do programa.
Se n < -128 ou n > +127, retorna um new Integer(n).
A partir daí você pode ficar brincando de contar objetos (que coisa mais inútil… )
E
enantiomero
int a = 1;
é uma atribuição de um não-objeto (o valor 1, inteiro) para uma variável não-objeto.
edmarr
Ta me Cheirando tarefa de casa =) .
No link abaixo vc encontra um aplicativo bastante interessante ele mostra para onde estao sendo apontados as variaveis de referencia
e quantos objetos foram criados . http://www.bluej.org/
Bom Estudo .
Paulo_Silveira
pois é, o Integer.valueOf nesse caso vai retornar uma referencia para o mesmo objeto do cache, fazendo com que nenhum objeto seja criado (apenas durante a primeira vez de todas). Esse tipo de pergunta é meio pegadinha por causa desse cache.