Mais uma de Wrappers

What will the following code print?

[code]Double a = new Double(Double.NaN);
Double b = new Double(Double.NaN);

if( Double.NaN == Double.NaN )
System.out.print("True");
else
System.out.print("False");

if( a.equals(b) )
System.out.print("True");
else
System.out.print("False");[/code]

A- TrueTrue

B- TrueFalse

C- FalseTrue

D- FalseFalse

um Not a Number nunca eh igual a nada nem a ele mesmo…
esse tal de NaN eh uma viagem!!!
mas em relacao ao equals da classe Double eh outra historia…
a gente tem q ver como eh q a classe Double sobrescreve o equals…

    public boolean equals(Object obj) {
	return (obj instanceof Double)
	       && (doubleToLongBits(((Double)obj).value) ==
		      doubleToLongBits(value));
    }

eh mais ou menos assim o equals da classe Double…

entao … a e b sao instancias de Double, e eles possuem o mesmo valor double trazido no doubleToLongBits…

Aí é que está a questão … não sei se eles vão pedir pra gente saber
a implementação do equals das classes Wrappers … não está acho q em nenhum objetivo do exame …

Onde foi q vc pegou a questão!

por isso eh letra C

Essa é foda mesmo…

O livro define que dois Wrappers são iguais se o tipo primitivo que eles representam são iguais. Como NaN não é igual nem a ele mesmo, achei que seria FalseFalse.

Enfim… :slight_smile:

http://www.geocities.com/skmajji/Main.html

Esse cara do seu avatar é o Guga?

huauhahua… q GUGA rapa???
Guga tenista?
Parece é?
ele é meu primo sabia naum?

haha
Parece pra caralho.
Mas se ele fosse seu primo, seu nick seria fkuerten :grin:

tá certo!!!
to ligado que vc eh da área… qq coisa te mostro minha identidade!!rss
VELHO … esse mock que vc está fazendo … naum sei … mas ele tem questoes de AWT … etc… será que ele nao está desatualizado ??? :?:

Parece que sim, o jeito é ignorá-las.
Mas tem várias questões interessantes.
A última mesmo, tinha System.out.print(-1 * Double.NEGATIVE_INFINITY);

E a resposta é… Infinity.

Essa classe Math é sem noção…