Pessoal, me deparei com a seguinte questão em um simulado:
public class Wrapper {
publicstaticvoidmain(String[]args){
Booleanb=newBoolean("correct");
try{
Byteby=newByte("201");
Integeri=newInteger("123");
Doubledb=newDouble(2.2d);
}catch(NumberFormatExceptionnfe){
System.out.println("Bad number!");
}
}
}
A. NumberFormatException when executing line 5
B. NumberFormatException when executing line 7
C. No output is generated
D. Exception is thrown at line 3, incorrect boolean value
E. Compile time error
Eu pensei que fosse a letra D, mas não é, a correta é a A.
O que acontece quando não passamos uma String “true” ou “false” pro construtor da classe Boolean???
Puxa, o problema de fazer a prova da 1.4 é que nos simulados aparecem essas coisas que são verdadeiras pegadinhas.
Nem desconfiava que a classe java.lang.Boolean tinha um construtor que aceitava String, e pior, que tivesse essa regra de conversão (“true” = true, qualquer outra coisa = “false”).
O Java 5.0 tem tantas coisas a mais que a prova nem se preocupa mais com essas babaquices. Entretanto, começa a pedir coisas como “você sabe de cor e salteado o javadoc da interface java.io.Serializable” ou "você sabe como usar a classe java.util.PriorityQueue.
diego2005
Ah sim, então qualquer coisa que não seja: “true”, “TRUE”, “True”, “TrUe”…vai ser um valor false.
Valeu pela ajuda…
M
mvsoares
Me parece que para o exame 5.0 vc tem que saber a fundo a respeito de Wrappers… tipo construtores, metodos, etc… E independe do exame, 1.4 ou 5.0, eh so pegadinha…
To estudando pra prova (5.0). Vou marcar para o inicio de setembro e estou aguardando somente o voucher chegar… caso vcs conhecam bons simulados, postem os links ae…
vlw
T
thingol
Na 5.0 a parte de Autoboxing (que é essa história dos wrappers que você mencionou) cai, mas misturada com as outras questões. (Ou seja, supõe-se que você entenda direitinho autoboxing, porque ele não é a motivação principal da questão, e sim outra coisa).
Note que nesse exame, muitas coisas caem misturadas com outras coisas. Portanto não dá para ficar sem estudar alguma coisa - se você deliberadamente não estudar Assertions, você pode acabar não acertando uma questão que também envolve “import static”
Pegue o demo da www.whizlabs.com - as questões não são lá muito iguais à prova, mas a idéia é que o jeitão da prova (ou seja, questões drag&drop etc.) é igualzinho. Para você simular mesmo, faça o seguinte:
Arranje duas ou três folhas de plástico duro, uma caneta de retroprojetor, e algo que apague isso (como um algodão molhado);
Faça a prova simulada só com isso - e o simulador da Whizlabs, é claro. Em muitos lugares eles não lhe dão papel ou dicionário, só esses folhas de plástico e a caneta, para usar como rascunho.
diego2005
Então, essa parte eu entedi, só não sabia que poderia passar para o construtor de Boolean uma string diferente de true ou false, pensei que gerava uma exceção em tempo de execução…
diego2005
Sim, claro, isso eu sabia, o que eu não sabia é que pode passar qualquer String, sem gerar uma exceção…
I
info_god
Vc pensou q era a letra D…
Vamos ao pq q não era.
Byte x = new Byte(“200”); //200 Ultrapassa o intervalo de Byte que só vai de -128 ate 127.
Agora se vc fazer assim
Byte x = new Byte ((byte)200);
Ele aceita =).
I
info_god
ué… Ele tem duas assinaturas de metodos…
Boolean (String)
Boolean (boolean)
=).
I
info_god
Eu lembro quando estava estudando pra certificação q eu fiz varios testes com varios construtores principalmente o Boolean