显而易见,以下表达式在 Java 中是有效的
int a = -0;
int b = +0;
以下是。
Integer c = new Integer(-0);
int d = Integer.parseInt("-0");
BigDecimal e = new BigDecimal("-0");
然而,以下陈述是无效的。
Integer f = new Integer("+0"); //Leading + sign.
int g=Integer.parseInt("+0"); //Leading + sign.
他们俩都扔了NumberFormatException
。
然而,下面的语句BigDecimal
编译并运行,不会引发异常。
BigDecimal bigDecimal = new BigDecimal("+0"); //Leading + sign.
为什么前导+
符号在BigDecimal
此处有效,而在 Java 中可用的其他数据类型似乎并非如此?