Title: Message

Caro Michel,

No Exemplo1, para salvar espa�o e reduzir a complexidade, at� mesmo duas strings s�o inicializadas, o compilador Java cria somente um espa�o na mem�ria para armazenar "100" quando o main � executado. O espa�o da mem�ria � compartilhado pelos dois objetos Strings na hora da compila��o, e as vari�veis x e y s�o simplismente ponteiro para o  mesmo espa�o de mem�ria. Por isto, que voc� ve plotar IGUAL quando utiliza ==, os dois s�o o mesmo espa�o de mem�ria.

No Exemplo 2, quando o c�digo Java � executado, o conte�do das Strings x, y ser� o mesmo:  a string "100". Entretanto, eles n�o ir�o apontar para o mesmo local de mem�ria, ent�o ele n�o plotar� IGUAL neste caso. O objeto String x  � alocado e recebe o valor "100" na hora da compila��o. J� o objeto String y � alocado e recebe o valor "100" na hora que o programa roda, portanto ele aloca outro espa�o de mem�ria diferente.

Espero ter ajudado. 

 

Rafael Siqueira

Webraska do Brasil (Mobiminds)

Director of Development - Automotive Division

Tel.: +55-11-3518-9080 r.208

[EMAIL PROTECTED]

 

 

--------------------------------------------------------

 Perdido?  Visite

--------------------------------------------------------

 

-----Original Message-----
From: Michel [mailto:[EMAIL PROTECTED]]
Sent: ter�a-feira, 15 de outubro de 2002 11:36
To:
[EMAIL PROTECTED]
Subject: [java-list] Inst�ncias

Ol� galera!

    Para exemplificar minha d�vida, mostrarei dois exemplos:

-------------EXEMPLO 1--------------

public static void main(String args[])

{

    String x = "100";

    String y = "100";

    if(x == y)

        System.out.println("IGUAL!!!")

}

------------EXEMPLO 2----------

public static void main(String args[])

{

    String x = "100";

    String y = Integer.toString(100);

    if(x == y)

        System.out.println("IGUAL!!!");

}

 

No exemplo 1, aparece na tela "IGUAL!!!", no exemplo 2 n�o aparece nada!

Sei que para comparar duas Strings tenho o m�todo equals(String s), mas para fins de conhecimento, gostaria de saber por qu� o 1� exemplo funciona e o 2� n�o.

 

Obrigado.

Responder a