我正在尝试从二进制字符串中解析潜在的 Long 值,但尝试这样做时仍然收到错误。
public String func1(String B, String C, String D)
{
long b = Long.parseLong(B, 2);
long c = Long.parseLong(C, 2);
long d = Long.parseLong(D, 2);
String value = Long.toString((b & c) | (b & d), 2);
return value;
}
Exception in thread "main" java.lang.NumberFormatException:
For input string: "1010101010101010101010101010101010101010/*....*/10101011"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Long.parseLong(Unknown Source)
...
谁能解释一下这个吗? 谢谢!
最佳答案
一个常量,保存 long 可以具有的最大值,2^63 - 1。
因此,最后一个可以转换为基数为 2 的 Long 的字符串是: “11111111111111111111111111111111111111111111111111111111111111”
如果你尝试解析大于它的值,你将得到 java.lang.NumberFormatException
关于java - Long.parseLong 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30779701/