我有一个扩展基类类列表public class Entity{
abstract String getTitle();
}
类的孩子public class ChildEntityOne extends Entity{
public static final String TITLE= "ABCD";
@Override
public String getTitle() {
return TITLE;;
}
}
public class ChildEntityTwo extends Entity{
public static final String TITLE= "EFGH";
@Override
public String getTitle() {
return TITLE;;
}
}
public class ChildEntityThree extends Entity{
public static final String TITLE= "WXYZ";
@Override
public String getTitle() {
return TITLE;;
}
}
现在我尝试将一个有效类列表传递给一个函数,该函数从类列表中的一个创建一个实例并返回它List<?ClassesToChooseFrom ?> list = new ArrayList()<>;
list.add(?ChildEntityOne?);
list.add(?ChildEntityTwo?);
Entity result = getInstantiatedClass(list,getKey(),getjsonData())
if(result instanceof ChildEntityOne){
//do something
}else if(result instanceof ChildEntityTwo){
//do somwthing
}
public ?InstantiatedClassObject? getInstantiatedClass(List<?ClassesToChooseFrom ?> list,String key,String jsonData){
foreach(?Class? itemclass : list){
if(itemClass.getTitle().equals(key)){
return new GsonBuilder().create().fromJson(jsonData, itemClass);}
}
return null;
}
我试过List<;Class<;? 扩展实体>>>; 类=新数组列表();
但不能走得更远。