为什么我无法解析" + 1"到int?

时间:2015-02-11 16:11:21

标签: java

我正在尝试将+1值解析为int值。在我的代码中+1String,我正在尝试使用Integer将其转换为Integer.parseInt

String num = "+1";
int convertedNum = Integer.parseInt(num);

但是我收到错误,为什么Java没有将+1视为整数值?

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不是有效整数。这已经修复了   对于构建intlongshortbyte的所有各种方法,   和字符串中的BigInteger值。他们中的人比你多   可能会想。除了解析(Int | Long | Short | Byte)之外,还有   解码使用十六进制和八进制输入的方法,以及   生成包装器对象的valueOf方法。 BigInteger(String)   构造函数也已更新。