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) ...