有办法将java.lang.Double转换为java.lang.Integer吗?

它会抛出一个异常

" . lang。ClassCastException: java.lang.Double不兼容java.lang.Integer"


当前回答

简单地这样做…

Double d = 13.5578;
int i = d.intValue();
System.out.println(i);

其他回答

只需使用Double的intValue方法

Double initialValue = 7.12;
int finalValue = initialValue.intValue();

Double不是Integer,所以强制转换无效。注意Double类和Double原语之间的区别。还要注意,Double是一个数字,因此它有方法intValue,您可以使用该方法获取作为原始int的值。

double a = 13.34;
int b = (int) a;

System.out.println(b); //prints 13

在Double对象上调用intValue()。

或者,可以先转换为原语double,然后转换为int,让它自动装箱为Integer。

Double d = 20.3;
Integer i = (int) (double) d; //20
//To obtain primitive:
int i2 = (int) (double) d;