Вы можете сделать это:
int myPrimitive = (int) (Integer) doIt();
Но, как вы сказали, автоматическая распаковка получит это для вас .
A плохо пример, показывающий, что цепные заклинания работают ( никогда не используйте этот код ):
Map notReallyAMap = (Map) (Object) new String();
Что касается цепных приведений, то, где бы вы их ни использовали, либозаконно, и вы можете удалить посредников;или приведение просто вызовет ClassCastException
.Так что вы никогда не должны его использовать .