Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“线程中的异常”;“主要”;java.lang.NumberFormatException:对于输入字符串:";3291105000“;_Java_Exception_Numberformatexception - Fatal编程技术网

“线程中的异常”;“主要”;java.lang.NumberFormatException:对于输入字符串:";3291105000“;

“线程中的异常”;“主要”;java.lang.NumberFormatException:对于输入字符串:";3291105000“;,java,exception,numberformatexception,Java,Exception,Numberformatexception,为什么会这样?我正在解析的字符串看起来显然像一个int。程序正在从一个文件中读取,我知道它的工作效率最高,因为这个数字在列表的最下面。有什么想法吗?此外,该程序正在解析大于22亿的整数,因此我不知道这是否是大小问题。int的最小值为-2147483648,最大值为2147483647(含),您的数字(来自字符串)超出范围 使用long代替long。parseLong(3291105000)适合您有符号的32位int只能与2^31或0x7FFFFFFFFF(2147483647)一样大。您需要使用

为什么会这样?我正在解析的字符串看起来显然像一个int。程序正在从一个文件中读取,我知道它的工作效率最高,因为这个数字在列表的最下面。有什么想法吗?此外,该程序正在解析大于22亿的整数,因此我不知道这是否是大小问题。

int
的最小值为
-2147483648
,最大值为
2147483647
(含),您的数字(来自字符串)超出范围


使用
long
代替
long。parseLong(3291105000)
适合您

有符号的32位
int
只能与2^31或0x7FFFFFFFFF(2147483647)一样大。您需要使用更大的数据类型<代码>长将使您最多达到2^63。或者,该类将获得一个任意大小的整数。

使用一个
长的
,它可以保存64位整数

  • int
    s最多只能保存20亿个整数
  • long
    s最多可保存~9e18个整数

正如其他人所说,该数字显然超出了int的范围,因此您得到了例外


4个字节,带符号(两个的补码)-2147483648至2147483647。与所有数字类型一样,int可以转换为其他数字类型(byte、short、long、float、double)。当有损转换完成时(例如int到byte),转换将按较小类型的长度进行模转换

听起来您已经很清楚问题所在。不幸的是,Java中没有
无符号int
:(