Приведение объекта (тип double) к int
Хорошо, если у меня есть этот код
double a=1.5;
int b=(int)a;
System.out.println(b);
Все отлично работает, но
Object a=1.5;
int b=(int)a;
System.out.println(b);
выдает следующую ошибку после запуска (Eclipse не выдает никакой ошибки)
java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Integer
Хотя, когда я делаю
Object a=1.5;
double b=(double)a;
int c=(int)b;
System.out.println(c);
или же
Object a=1.5;
int b=(int)(double)a;
System.out.println(b);
Снова все в порядке.
Почему вы должны бросить егоdouble
первый ?