Integer vc Double

Observem esse código:

public class Igualdade{
public static void main(String[] args){
Integer a = new Integer(10);
Integer b = new Integer(10);
Integer c = a;
int d = 10;
double e = 10.0;

	System.out.println(a==b);
	System.out.println(a==c);
	System.out.println(d==e);
	System.out.println(d==10.0);
                            System.out.println(b==d);

}

}

Ele esta dando um erro de compilação, apontando para última comparação “b==d”.
Porque eu não posso fazer isso!!!

abraços

fred frigieri

porque b é um objeto da classe java.lang.Integer e d é um tipo primitivo int, um primitivo não pode ser diretamente comparado com um objeto

pra não dar erro você tem que comparar int com int:

System.out.println(b.intValue()==d);