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

Ale*_*lex 4 java

Long x;
int y = (int) x;
Run Code Online (Sandbox Code Playgroud)

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

无法将Long强制转换为int

Sea*_*oyd 31

使用原语 long

long x = 23L;
int  y = (int) x;
Run Code Online (Sandbox Code Playgroud)

你不能将一个Object(Long is a Object)强制转换为一个原语,唯一的例外是通过auto(un)boxing来对应的原语/包装器类型

如果必须将a转换Long为int,请使用Long.intValue():

Long x = 23L;
int  y = x.intValue();
Run Code Online (Sandbox Code Playgroud)

但要注意:你可能会丢失信息!A Long/ long有64位,可以保存比Integer/ int(仅32位)更多的数据


Ish*_*tar 12

Long x 是一个对象.

int y = x.intValue();
Run Code Online (Sandbox Code Playgroud)