При переходе через некоторые блоги Jakov Jenkov на Java Reflection и дженериков, я нашел следующий пункт:Java дженериков и отражения (jenkov блог)
Когда во время выполнения проверки самого параметрируемого типа, как
java.util.List
, нет способ узнать, какой тип был параметризован. Это имеет смысл, поскольку тип может быть параметризован для всех типов типов в одном приложении. Но, когда вы проверяете метод или поле, объявляющее использование параметризованного типа, во время выполнения вы можете увидеть, к какому типу параметризуемый тип был параметризован.
Может ли кто-нибудь прокомментировать абзац?
Я запуталась в заявлении «когда во время выполнения проверяющего сам параметрируемого типа»
Некоторая общая информация доступна там, где компилятор должен будет проверить этот код, например. поле, параметры метода, тип возвращаемого метода, суперклассы и интерфейсы. Он недоступен через объект, если это не косвенно через одно из указанных средств. –
@PeterLawrey Возможно, вы правы, но часто трудно понять границы применимости этих вещей. Вы имели в виду что-то вроде этого? http://stackoverflow.com/a/3403976/1240328 –
Да, информация в коде доступна через отражение. Однако в экземпляре нет дополнительной информации. –