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.
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… :mrgreen:
não tinha lido a primeira resposta atentamente… :oops:
dei uma olhada na especificação e é isso mesmo, o metodo valueOf de Boolean não aloca um novo objeto.
valew!!!