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