“线程中的异常”;“主要”;java.lang.NumberFormatException:对于输入字符串:";3291105000“;
为什么会这样?我正在解析的字符串看起来显然像一个int。程序正在从一个文件中读取,我知道它的工作效率最高,因为这个数字在列表的最下面。有什么想法吗?此外,该程序正在解析大于22亿的整数,因此我不知道这是否是大小问题。“线程中的异常”;“主要”;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
的最小值为-2147483648
,最大值为2147483647
(含),您的数字(来自字符串)超出范围
使用
long
代替long。parseLong(3291105000)
适合您有符号的32位int
只能与2^31或0x7FFFFFFFFF(2147483647)一样大。您需要使用更大的数据类型<代码>长将使您最多达到2^63。或者,该类将获得一个任意大小的整数。使用一个长的
,它可以保存64位整数
s最多只能保存20亿个整数int
s最多可保存~9e18个整数long
4个字节,带符号(两个的补码)-2147483648至2147483647。与所有数字类型一样,int可以转换为其他数字类型(byte、short、long、float、double)。当有损转换完成时(例如int到byte),转换将按较小类型的长度进行模转换 听起来您已经很清楚问题所在。不幸的是,Java中没有
无符号int
:(