В чем разница между коротким/байтом внутри параметра и внутри блока [дубликат]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 В чем разница между коротким/байтом внутри параметра и внутри блока [дубликат]

Сообщение Anonymous »


Возможный дубликат:

Ошибка Eclipse? Когда короткометражка не короткометражка?


В Java я могу назначить короткий или байт внутри такие блоки:

Код: Выделить всё

short s = 20000;
byte  b = 120;
Поскольку 20000 — короткое значение, а 120 — байтовое значение, если я попытаюсь попробовать:

Код: Выделить всё

short s = 67000;
byte  b = 128;
Я получу сообщение об ошибке, в котором говорится, что невозможно скомпилировать целое число в байтовое, где

Код: Выделить всё

byte b = (byte)12232;
даже не выдаст предупреждение о том, что значение может быть потеряно. При вызове функции я все равно вынужден ее привести:

Код: Выделить всё

void test(short s){}
test(1) //invalid
test((short)1) //valid
При возврате все снова в порядке.

Код: Выделить всё

short test(){
return 1; //valid
}
Почему компилятор иногда хочет узнать границы чисел (хотя бы из констант), хотя кажется, что он забывает об этом в другом месте?

Подробнее здесь: https://stackoverflow.com/questions/145 ... de-a-block
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»