Questão que eu inventei

[code] public static void main(String args[]) {

final double y = 0.0;
int z = 0x00001;
int t = z * 2;
t -= (z + z);
Object x = y / t;
System.out.println(t);
System.out.println(x.equals(t));

}[/code]

O que imprime?

0
false

Justificativa:
0 - só fazer as contas
false - x é um java.lang.Double, t é um int que foi “boxed” para java.lang.Integer, e objetos de classes diferentes não podem ser “equal”.

Como assim o que imprime ???

tipo…

 [code]final double y = 0.0;[/code] 
 [code] int z = 0x00001;[/code]
 [code] int t = z * 2; [/code] --> Duplica o Valor de z e coloca em t
 [code] t -= (z + z);[/code] a variavel "t" possui o dobro de "z", porém é subtraido o dobro de "z", portanto fica zerado
 [code]Object x = y / t;[/code] Intancia "x" do tipo Object, divide um double 0.0 por 0, isso eh diferente... porem da zero
 [code]System.out.println(t);[/code] --> "t" nessa hora vale 0 (Zero)
 [code]System.out.println(x.equals(t)); [/code]--> X é diferente... X possui um valor do tipo Object estranho...


É isso msm ??? eu rodei o código… deu isso

É isso mesmo,

0 e false

O valor de X no fim é NaN, e t vale 0 mesmo.

se fizer:

isso sim é TRUE