Long x;
int y = (int) x;
Eclipse正在使用错误标记此行:
无法将Long强制转换为int
答案 0 :(得分:30)
使用原始long
long x = 23L;
int y = (int) x;
你不能将一个Object(Long是一个Object)强制转换为一个原语,唯一的例外是通过auto(un)boxing
对应的原语/包装器类型如果您必须将Long
转换为int,请使用Long.intValue()
:
Long x = 23L;
int y = x.intValue();
但要注意:你可能会丢失信息! Long
/ long
有64位,可以容纳比Integer
/ int
(仅限32位)更多的数据
答案 1 :(得分:12)
Long x
是一个对象。
int y = x.intValue();
答案 2 :(得分:3)
int y = (int) (long) x;
正在运作。