Java语法 - 强制转换后的额外加号是否有效?
所以我在投掷时遇到了一些让我感到困惑的事情,通常我会这样做:byte
char
for (byte b:"ABCDE".getBytes()) {
System.out.println((char)b);
}
这将打印出来
A
B
C
D
E
我不小心在和之间留下了一个,并得到了相同的结果!?+
(char)
b
这样:
for (byte b:"ABCDE".getBytes()) {
System.out.println((char) + b);
}
为什么会发生这种情况?
我基本上是在做吗?因为(char)(0x00 + b)
System.out.println((char) - b);
产生不同的结果。
注: 使用 Java 版本 1.8.0_20