| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/03/2005 03:34:45
|
Fabricio Cozer Martins
GUJ Ranger
![[Avatar]](/images/avatar/2ecd2bd94734e5dd392d8678bc64cdab.jpg)
Membro desde: 08/05/2004 10:22:03
Mensagens: 935
Localização: Salvador/Brasil
Offline
|
ops, galera tem uma questão interessante que não consegui achar a explicação pra isso!
Qual a saída? Compila? Erro Runtime?
|
Fabrício Cozer Martins
Analista de Sistemas
Bacharel em Ciência da Computação da UFBa
Sun Certified Programmer for Java 2 Platform 1.4
Sun Certified Web Component Developer for J2EE 1.4 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/03/2005 05:26:25
|
Sami Koivu
Virtual Machine Man
![[Avatar]](/images/avatar/a4d8e2a7e0d0c102339f97716d2fdfb6.jpg)
Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Offline
|
Oi,
Se eu entendi sua dúvida correto.. b1 e b2 referem ao mesmo objeto, porque Boolean.valueOf() sempre retorna Boolean.TRUE ou Boolean.FALSE por razões de eficiência e consumo de memória. Como sabemos que só pode existir dois valores distintos(true/false), não faz sentido ficar criando novos objetos. Se você quer um novo objeto Boolean, precisa usar new Boolean(.....)
Ainda que os objetos são nossos amigos.. o excesso de objetos não é um amigo da eficiência.
Diz o javadoc:
public static Boolean valueOf(boolean b)
Returns a Boolean instance representing the specified boolean value. If the specified boolean value is true, this method returns Boolean.TRUE; if it is false, this method returns Boolean.FALSE. If a new Boolean instance is not required, this method should generally be used in preference to the constructor Boolean(boolean), as this method is likely to to yield significantly better space and time performance.
-Sami
|
(Slightly) Random Broken Thoughts on Java Security |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/03/2005 10:32:33
|
jgbt
GUJ Master
![[Avatar]](/images/avatar/25df35de87aa441b88f22a6c2a830a17.png)
Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline
|
minha opinião:
ao criar objetos Boolean, o valor passado na String não é case sensitve.
compila, roda, imprime fale, false.
se não for isso, explicações por favor...
[]'s
|
João Bier
Desenvolvedor Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/03/2005 10:48:05
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
jbgt, o codigo compila, roda e imprime "false, true", pelos motivos citados pelo Sami.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/03/2005 10:57:28
|
jgbt
GUJ Master
![[Avatar]](/images/avatar/25df35de87aa441b88f22a6c2a830a17.png)
Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline
|
cv wrote:jbgt, o codigo compila, roda e imprime "false, true", pelos motivos citados pelo Sami.
não tinha lido a primeira resposta atentamente...
dei uma olhada na especificação e é isso mesmo, o metodo valueOf de Boolean não aloca um novo objeto.
valew!!!
[]'s
|
João Bier
Desenvolvedor Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/03/2005 12:49:24
|
Fabricio Cozer Martins
GUJ Ranger
![[Avatar]](/images/avatar/2ecd2bd94734e5dd392d8678bc64cdab.jpg)
Membro desde: 08/05/2004 10:22:03
Mensagens: 935
Localização: Salvador/Brasil
Offline
|
Blza Sami, não sabia desse detalhe!
|
Fabrício Cozer Martins
Analista de Sistemas
Bacharel em Ciência da Computação da UFBa
Sun Certified Programmer for Java 2 Platform 1.4
Sun Certified Web Component Developer for J2EE 1.4 |
|
|
 |
|
|