Android NumberFormatException

Android NumberFormatException,android,Android,我得到以下错误: Caused by: java.lang.NumberFormatException: Invalid int: "1437061569000" 完全错误 我已经检查了字符串是否为null,并应用了trim()和replace()方法来删除任何非整数字符 错误行(42)是对字符串运行parseInt方法的行 代码如下: @Override protected String doInBackground(String... college) { String data_

我得到以下错误:

Caused by: java.lang.NumberFormatException: Invalid int: "1437061569000"
完全错误

我已经检查了字符串是否为null,并应用了trim()和replace()方法来删除任何非整数字符

错误行(42)是对字符串运行parseInt方法的行

代码如下:

@Override
protected String doInBackground(String... college) {
    String data_url = "......";
    int lastUpdateTimestamp;
    try {
        String data = DownloadText(data_url).trim().replaceAll( "[^\\d]", "" );
        Log.e("doinback", data);
        if (data == null) { Log.e("doinback", "ITS NULL"); }
        lastUpdateTimestamp = Integer.parseInt(data);
        res = "done";
    } catch (IOException e) {
        res = "ERROR";
    }
    return res;
}
Java Int Int数据类型是一个32位有符号2的补码整数

最小值为-2147483648。(-2^31)

最大值为2147483647(含)。(2^31-1)

1.437.061.569.000
远大于最大值

您需要使用long变量

爪哇龙 长数据类型是一个64位有符号2的补码整数

最小值为-9223372036854775808。(-2^63)

最大值为9223372036854775807(含)。(2^63-1)


请看那个数字太大了。int可以具有的最大值为2^31-1。看

java.lang.Integer

最大值

公共静态最终整数最大值

一个常量,它包含一个
int
可以具有的最大值,2^31-1


2^31-1=2147483647

为什么不改用
long


由于
整数
值超限,引发了
NumberFormatException
整数
的限制是从
-2147483648
2147483647


如果您想使用这个数字(
1437061569000
)作为
lastUpdateTimestamp
变量,您可以将它转换为
long
,它的限制比
Integer
更大,即从
-9223372036854775808
92233720368547807
,请学习java的基础知识
int
不能大于
Integer.MAX
(2^31− 1) ...