Java字符串到整数的转换引发NumberFormatException

Java字符串到整数的转换引发NumberFormatException,java,Java,我想将字符串(二进制数字)转换为整数,如下所示: Integer.parseInt("011000010110") 我总是收到一个NumberFormatException。位数是否过高?是的,字符串“011000010110”约为110亿,高于可表示的最大值int。试一试 或者,如果您的意思是二进制,请将基数2传递给: Java的所有数字类都以10为基数。但是,我在这里找到了这两个选项: 位集类,或将int声明为二进制数的方法(Java 7+)。后者可能不适用于您,这取决于您获取这些数字的

我想将字符串(二进制数字)转换为
整数
,如下所示:

Integer.parseInt("011000010110")
我总是收到一个
NumberFormatException
。位数是否过高?

是的,字符串
“011000010110”
约为110亿,高于可表示的最大值
int
。试一试

或者,如果您的意思是二进制,请将基数2传递给:


Java的所有数字类都以10为基数。但是,我在这里找到了这两个选项:


位集类,或将int声明为二进制数的方法(Java 7+)。后者可能不适用于您,这取决于您获取这些数字的方式。

它可能看起来像二进制,这将被解释为十进制(而且太高)。正如OP所说的“二进制数字”,第二个版本听起来像是正确的选择。:-)我很困惑。如果我打印parseInt(“binary”,2),则返回打印的十进制值。我想要二进制数字作为一个整数。你明白我的意思吗?正如halraldK所说,只是“数字”,而不是值。在这种情况下,将其解析为Long,就像答案中的第一个示例一样。
Long.parseLong("011000010110")
Integer.parseInt("011000010110", 2)