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

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

int test = null;

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

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

Не является ли троичная операция просто короткой (в данном случае):

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

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

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

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