我首先使用这个简单的代码
Long.parseLong(4250120140405520712)
它有效,但当我这样做时
Long.parseLong(42501201404055207123)
失败了。添加额外的数字会使其产生数字格式异常。有人可以解释一下
答案 0 :(得分:3)
假设您正在将String
解析为long
s:
第一个有效,因为数字4250120140405520712(19位数)小于最大可能的长值Long.MAX_VALUE
,9223372036854775807L
。
第二个失败,因为它的长度为20位,大于9223372036854775807L
。
答案 1 :(得分:0)
long
个变量最多只能包含9223372036854775807,请参阅here以获取更多信息。
第二个变量不起作用的原因是您已超出限制所以显示数字格式异常。