Итак, я натолкнулся на то, что меня смутило при отбрасывании 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