quinta-feira, 12 de fevereiro de 2009

Teste Certificação

Qual será a saída do seguinte código.

String teste = "TRue";
if(Boolean.valueOf(teste)){
System.out.println("É true");
}else
{
System.out.println("Não é true");
}


resposta encontra-se nos comentários,
verifique que a palavra true encontrasse de uma forma no mínimo esquisita......

5 comentários:

Edinei Manica disse...

A resposta é que vai apresentar:
"É true", pois mesmo que não sejam todos os caracteres em minusculos, ele consegue transformar para um boolean com o valor true.

MasterManson disse...

otimo blog favoritado ^^

estou pensando em começar por baixo na SCJA

Heitor disse...

Segundo o javadoc:
"(...) true value if the string argument is not null and is equal, ignoring case, to the string "true"."
Vcs não acham esse tipo de pergunta meio inútil?
Pq tenho certeza de que ninguém decora esse tipo de nota de rodapé. Javadoc existe pra isso.
É como pedir para um geógrafo decorar as capitais dos países mais bizarros, ou verificar se um matemático é capaz de fazer contas chatas, ou ainda achar que historiador é calendário.
Que acham?

Paolo Jourdan Campana Murari disse...
Este comentário foi removido pelo autor.
Paolo Jourdan Campana Murari disse...

O exemplo não irá compílar logo de cara, existe um erro em não poder converter um Boolean diretamente para boolean. Para que o código compile e funcione, deve existir uma validação de nulidade:

String teste = "TRue";
if (Boolean.valueOf(teste) != null) {
System.out.println("É true");
} else {
System.out.println("Não é true");
}

daí sim ele imprime "É true" no console.