Действительный синтаксис, ближайший к вашему примеру:
((Integer) myInt).toString();
Когда компилятор завершает работу, это эквивалентно
Integer.valueOf(myInt).toString();
Однако это не так хорошо, как при обычном использовании, String.valueOf(myInt)
, потому что, за исключением особых случаев, он создает новый экземпляр Integer, а затем немедленно выбрасывает его, что приводит к большему количеству ненужного мусора. (Небольшой диапазон целых чисел кэшируется, и доступ осуществляется через доступ к массиву.) Возможно, разработчики языка хотели отказаться от такого использования по соображениям производительности.
Изменить: Я был бы признателен, если бы downvoter (ы) прокомментировал, почему это не полезно.