| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/03/2003 08:52:03
|
duardor
Virtual Machine Man
![[Avatar]](/images/avatar/18d8042386b79e2c279fd162df0205c8.jpg)
Membro desde: 04/12/2002 16:26:48
Mensagens: 552
Localização: BRAZIL
Offline
|
Ae galera
Essa nao chega a ser uma "Pegadinha", mas vale quem for fazer a prova como eu pegar a documentação de algumas classes e imprimir para estudar.... A classe String eh um exemplo....
Vejam o seguinte codigo e diga qual sera a saida
|
Eduardo Rodrigues
Belo Horizonte - MG |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/03/2003 13:04:11
|
urubatan
Moderador
![[Avatar]](/images/avatar/fe9fc289c3ff0af142b6d3bead98a923.jpg)
Membro desde: 21/09/2002 10:31:26
Mensagens: 2478
Localização: Porto Alegre/RS
Offline
|
se não estou enganado, vai imprimir
false
false
String A = "JAVA";
String B = new String("JAVA");
A e B são duas strings diferents com o mesmo conteúdo
e
String C = B.intern();
C é uma string criada com o array interno apontando para a mesma area de memoria que B, mas o endereço base da string é diferente tanto do A como do B
|
[]'s
Rodrigo Urubatan
http://www.urubatan.com.br - pt_BR
http://www.urubatan.info - en_US
Arquiteto J2EE
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/03/2003 13:12:59
|
mlopes
JavaTeenager
![[Avatar]](/images/avatar/c3e26d423e3654fab1f76.jpg)
Membro desde: 18/11/2002 11:01:01
Mensagens: 163
Localização: Alemanha
Offline
|
Quase,
Não é bem assim, qdo vc chama o intern, o enrdereço retornado é o do pool.
Então o resultado será false, true;
[]'s
|
Marco Lopes
----------------------------------------------------------
Pássaro que cedo madruga....
... porém o segundo rato é quem pega o queijo
---------------------------------------------------------- |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/03/2003 13:26:26
|
boaglio
Moderador
![[Avatar]](/images/avatar/c0c7c76d30bd3dcaefc96f40275bdc0a.png)
Membro desde: 09/09/2002 21:23:39
Mensagens: 1848
Localização: Sampa City
Offline
|
Uma pequena observação:
Se o código fosse:
Daria true e true.
|
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de Java via MP! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/03/2003 13:27:26
|
Rafael Steil
Administrador
![[Avatar]](/images/avatar/8e296a067a37563370ded05f5a3bf3ec.jpg)
Membro desde: 31/08/2002 02:35:53
Mensagens: 5983
Localização: São Paulo
Offline
|
Eu expliquei isso em uma outra "pegadinha", acho que foi numa das primeiras. Quem quiser uma explicacao mais a fundo, de uma procurada la.
Rafael
|
"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"
http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/03/2003 16:25:16
|
duardor
Virtual Machine Man
![[Avatar]](/images/avatar/18d8042386b79e2c279fd162df0205c8.jpg)
Membro desde: 04/12/2002 16:26:48
Mensagens: 552
Localização: BRAZIL
Offline
|
Explicou sim rafael mas nao tinha esse lance do intern().
A resposta correta se nao me engano seria:
false
true
O mlopes jah explicou pq...
Daki a poco (quando eu chegar em casa hehe to na facu) vou colocar uma variacao interessante envolvendo esse intern()
Abraços
|
Eduardo Rodrigues
Belo Horizonte - MG |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/03/2003 23:29:33
|
Elvis.The.Pelvis
JavaGuru
![[Avatar]](/images/avatar/c8a589523f35508a5d7ec.jpg)
Membro desde: 18/12/2002 17:45:34
Mensagens: 220
Localização: Recife/PE
Offline
|
Se bem que minha prova de certificação não entrou nesse nível de detalhe sobre intern. Só caiu o básico do pool mesmo:
String a = "java";
String b = "java";
//a == b true
|
Se não fosse o C, até hoje estaríamos programando em BASI, PASAL e OBOL.
Elvis.The.Pelvis é Daniel Freitas |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/03/2003 18:57:00
|
Gerson
JavaChild
![[Avatar]](/images/avatar/ccb1d45fb76f7c5a0bf619f979c6cf36.jpg)
Membro desde: 26/01/2003 19:48:37
Mensagens: 113
Localização: São Paulo
Offline
|
Apenas complementando o que o mlopes disse...
Não é bem assim, qdo vc chama o intern, o enrdereço retornado é o do pool.
intern() SEMPRE vai retornar o endereço do pool, isto é, MESMO se o objeto String não existesse no pool, ele criaria o objeto String, armazenaria no pool e retornaria sua referencia.
Modificando um pouco, para treinar:
Gerson K.
|
|
|
 |
|
|