Java Почему для преобразования из байта в char требуется явное преобразование? [Дубликат]

2
задан Bevor 21 November 2013 в 21:04
поделиться

2 ответа

char - единственный тип unsigned в Java, поэтому его диапазон значений не полностью содержит диапазон значений другого типа Java.

Вы должны использовать явный оператор литья для любого где диапазон целевого типа не полностью охватывает диапазон источника.

4
ответ дан Marko Topolnik 25 August 2018 в 21:32
поделиться

Я взял это из спецификации языка:

«Во-первых, байт преобразуется в int посредством расширения примитивного преобразования (п. 5.1.2), а затем полученный int преобразуется в char, сужая примитивное преобразование (§5.1.3). "

1
ответ дан kemmitorz 25 August 2018 в 21:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: