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

它会抛出一个异常

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


当前回答

试试这个

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

其他回答

Double d = 100.00;
Integer i = d.intValue();

还应该补充一点,它与自动装箱一起工作。

否则,你得到一个int(原语),然后可以从那里得到一个Integer:

Integer i = new Integer(d.intValue());

是这样的:

Double foo = 123.456;
Integer bar = foo.intValue();

这对我很有效。试试这个:

double od = Double.parseDouble("1.15");
int oi = (int) od;

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

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

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