почему я могу установить нулевые типы примитивов в троичных операциях

Я всегда думал, что примитивные типы в Java не могут бытьnull, так как это ошибка времени компиляции, если я пытаюсь сделать что-то вроде этого:

int test = null;

Однако в троичной операции кажется разрешенным:

int test = something != 0 ? 5 : null;

Isn»t троичная операция, просто короткая для (в данном случае):

int test;
if (something != 0){
    test = 5;
} else {
    test = null
}

что, конечно, не должно быть разрешено. если это условие не выполняется, он автоматически броситNullPointerException из-за автобокса. Так почему же java-компилятор нечушь, как это?

Ответы на вопрос(1)

Ваш ответ на вопрос