Возвращает ли когда-нибудь метод 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

Другие вопросы по тегам