如何在Java中将long转换为int?

时间:2011-04-27 08:45:30

标签: java

Long x;
int y = (int) x;

Eclipse正在使用错误标记此行:

  

无法将Long强制转换为int

3 个答案:

答案 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;

正在运作。