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......
quinta-feira, 12 de fevereiro de 2009
Assinar:
Postar comentários (Atom)
5 comentários:
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.
otimo blog favoritado ^^
estou pensando em começar por baixo na SCJA
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?
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.
Postar um comentário