Возьмите следующее:
public Class<List<String>> getObjectType() {
// what can I return here?
}
Какое выражение класса буквально можно вернуть из этого метода, который будет удовлетворять дженерикам и компилировать? List.class
не будет компилироваться, и не будет List.<String>class
.
Если вам интересно "почему", я пишу реализацию Spring FactoryBean<List<String>>
, которая требует от меня реализовать Class<List<String>> getObjectType()
. Однако это не вопрос Spring.
edit: Мои жалобные крики были услышаны полномочиями, которые находятся в SpringSource, поэтому Spring 3.0.1 будет иметь тип возврата getObjectType()
, измененный на Class<?>
, который аккуратно избегает проблемы.