次の式は、明らかなように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で使用可能な他のデータ型には当てはまらないようです。