Membro desde: 18/08/2003 22:10:49
Mensagens: 1899
Localização: Em qualquer lugar
Offline
Uma questão legal:
Qual será a saída e por quê?
>> Inocêncio.
25/04/2004 01:33:38
Assunto:
Ironlynx
Moderador
Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline
Essa eh fácil...o wrapper de Long aceita um String no construtor,logo só os 2 últimos if funcionam para esse tipo de comparação(o conteúdo String dos wrappers).E no caso,somente o último servirá.Resp.: l1 equals l2
Membro desde: 22/04/2004 15:10:38
Mensagens: 16
Localização: Salvador, BA, Brasil
Offline
E se fosse?
É muito interessante. Tem a ver com a estratégia flyweight implementada pelo java. Ele usa uma instância só para todas as string construidas em tempo de compilação. Me corrigam se eu estiver errado, ele vai imprimir os dois textos.
[]´s
Vinícius Pitta Lima de Araújo
"A verdade está lá fora..."
30/04/2004 21:18:35
Assunto:
elvishr
JavaChild
Membro desde: 01/04/2003 00:47:21
Mensagens: 117
Localização: Brasília/DF
Offline
Acho q não vai imprimir nada..
São 2 objetos String diferentes, logo a <> b.
No segundo if para comparar as strings deveria ser a.equals("java").
Elvis não morreu
SCJP 1.4
SCWCD 5.0
SCBCD 5.0
JBCAA
30/04/2004 23:10:53
Assunto:
ana_abrantes
JavaGuru
Membro desde: 29/08/2003 15:44:09
Mensagens: 238
Localização: São Paulo
Offline
Engano seu elvishr...
Vai imprimir a==b e depois a == java.
No caso de String declarada dessa maneira não funciona como todos os outros tipos de objeto.
Só não ia imprimir nada se pelo menos uma das 2 tivesse assim:
String a = new String("java");