我正在尝试将+1
值解析为int
值。在我的代码中+1
是String
,我正在尝试使用Integer
将其转换为Integer.parseInt
,
String num = "+1";
int convertedNum = Integer.parseInt(num);
但是我收到错误,为什么Java没有将+1
视为整数值?
答案 0 :(得分:12)
因为您必须使用旧版本的JDK(JDK <7)。在 Java 7 之前,
+1
不被视为有效整数。
在
JDK 1.7
之前,以下代码段的结果是什么?
double x = Double.parseDouble("+1.0");
如果你知道的话,请拍拍自己 回答:
int n = Integer.parseInt("+1");
+1.0
一直是一个有效的浮点数,但是 直到Java 7,+1
不是有效整数。这已经修复了 对于构建int
,long
,short
,byte
的所有各种方法, 和字符串中的BigInteger
值。他们中的人比你多 可能会想。除了解析(Int | Long | Short | Byte)之外,还有 解码使用十六进制和八进制输入的方法,以及 生成包装器对象的valueOf
方法。BigInteger(String)
构造函数也已更新。