Возможный дубликат:
Tricky trernary operator в Java - autoboxing
Мы знаем, что int roomCode = null;
не разрешен компилятором.
Тогда почему код 1 не дает ошибку компилятора, когда делает код 2.
Код 1:
int roomCode = (childCount == 0) ? 100 : null;
Код 2:
int roomCode = 0;
if(childCount == 0) roomCode = 100;
else roomCode = null; // Type mismatch: cannot convert from null to int