Ява - короткая и литье
У меня есть следующий фрагмент кода.
public static void main(String[] args) {
short a = 4;
short b = 5;
short c = 5 + 4;
short d = a;
short e = a + b; // does not compile (expression treated as int)
short z = 32767;
short z_ = 32768; // does not compile (out of range)
test(a);
test(7); // does not compile (not applicable for arg int)
}
public static void test(short x) { }
Правильно ли следующее резюме (в отношении только приведенного выше примера с использованием short)?
прямая инициализация без приведения возможна только с использованием литералов или отдельных переменных (при условии, что значение находится в диапазоне объявленного типа)если относительное значение присваивания относится к выражениям, использующим переменные, необходимо приведениеНо почему именно мне нужно привести аргумент второго вызова метода с учетом предыдущего резюме?