У меня была эта часть кода в моем приложении (упрощенная версия):
Object result;
if (check)
result = new Integer(1);
else
result = new Double(1.0);
System.out.println(result);
return result;
Затем я решил реорганизовать оператор if-else на тернарное условное выражение, чтобы мой код был более кратким:
Object result = check ? new Integer(1) : new Double(1.0);
System.out.println(result);
return result;
Оказалось, что в случае проверки true
две версии печатают разные результаты:
1
или
1.0
Не тернарный условный эквивалент соответствующему if-else?