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
jgbt
concordo com o Ironlynx.
A comparação de conteudo de obj so vai funcionar no ultimo if.
[]'s
Rafael_Nunes
Só o último if, pois as variáveis de referência referenciam objetos diferentes, logo somente equals() vai ser verdadeiro.
É 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.
elvishr
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”).
A
ana_abrantes
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”);