Java приведение общего типа по типу параметра - PullRequest
4 голосов
/ 09 августа 2010

что, если это вообще возможно, было бы хорошим решением для реализации следующей желаемой функциональности, где я хочу:

  • Приведите тип возврата подпрограммы к типу параметра подпрограммы, например,

// Foo and Bar are two types of Common
interface Common{}
interface Foo extends Common {}
interface Bar extends Common {}

// Example interface
public List<? extends Common> getFeatureByType(Class<? extends Common> clazz);


// Example of what I want to achieve by using the (or a similar) interface. 
// Can this be achieve without using typecasting to (List<Bar>) or (List<Foo>) 
// and @SuppressWarning("unchecked") ?
List<Bar> bars = getFeatureByType(Bar.class);
List<Foo> foos = getFeatureByType(Foo.class);

1 Ответ

5 голосов
/ 09 августа 2010
public <T extends Common> List<T> getFeatureByType(Class<T> clazz);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...