Transmitir objeto (tipo double) para int

Ok, então se eu tiver esse código

double a=1.5;
int b=(int)a;
System.out.println(b);

Tudo funciona bem, mas

Object a=1.5;
int b=(int)a;
System.out.println(b);

dá o seguinte erro após a execução (o Eclipse não dá nenhum erro)

java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Integer

Embora, quando eu faço

Object a=1.5;
double b=(double)a;
int c=(int)b;
System.out.println(c);

ou

Object a=1.5;
int b=(int)(double)a;
System.out.println(b);

Nada está errado de novo.

Por que você tem que lançá-lo paradouble primeiro ?

questionAnswers(3)

yourAnswerToTheQuestion