java.lang.NumberFormatException:对于输入字符串:“1538956627792”

java.lang.NumberFormatException: For input string: "1538956627792"

我正在尝试使用以下代码将系统时间转换为 int

String today = "" + System.currentTimeMillis();
int todayInt = Integer.parseInt(today);

但我收到以下错误:

java.lang.NumberFormatException: For input string: "1538956627792"

为什么这个数字:"1538956627792" 仍然抛出错误?

数字太长,无法解析为int,您需要使用Long解析那个大数字,

long todayInt = Long.parseLong(today);

int类型的大小为32位,范围从-2,147,483,6482,147,483,6471538956627792超出范围,所以导致错误。

你可以把int改成long来解决这个问题,这里是a detailed ref