Согласно JLS : -
Тип условного выражения определяется следующим образом:
blockquote>
- Если второй и третьи операнды имеют один и тот же тип (который может быть нулевым типом), то это тип условного выражения.
- Если один из второго и третьего операндов имеет примитивный тип T, а тип другой - результат применения преобразования бокса (п. 5.1.7) в Т, тогда тип условного выражения равен T.