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

它会抛出一个异常

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


当前回答

首先你应该用双份而不是双份。

例子

int intResult = newDoubleObj.intValue();

其他回答

使用doubleNumber.intValue();方法。

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

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

试试这个

double doubleValue = 6.5;Double doubleObj = new Double(doubleValue);int intResult = doubleObj.intValue();

在Double对象上调用intValue()。

内存效率高,因为它将共享已经创建的Double实例。

Double.valueOf(Math.floor(54644546464/60*60*24*365)).intValue()