Возвращает ли когда-нибудь метод String charAt() отрицательное целочисленное значение в Java?
String data = //some String;
int val = data.charAt(2);
Может ли val иметь отрицательное значение в любом сценарии?
1 ответ
Нет.
char: тип данных char - это один 16-битный символ Unicode. Он имеет минимальное значение "\u0000" (или 0) и максимальное значение "\uffff" (или 65 535 включительно).
Согласно документации по конверсиям, конвертация из char
в int
это расширение конверсии. На этой странице прямо указано (прямо над примером 5.1.2-1):
Расширяющаяся конверсия
char
к целочисленному типуT
ноль - расширяет представление значения символа, чтобы заполнить более широкий формат.
что в основном означает, что ffff
будет дополнен слева нулями до целого числа 0000ffff