好了,所以如果我有这样的代码演员对象(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
?
我很困惑为什么你的对象a = 1.5; double b =(double)a;'工作它将为** java.lang.Double **类而不是原始类型** double **工作。在我的日食中,你的工作部分不工作,但这个工作:'双b =(双)a;' – Saif 2014-12-14 09:11:26
好吧,开始你自己的线程;) – Charlie 2014-12-14 09:53:10