0
ITypeInfo typeInfo = getTypeInfoForName(IDerivedObject.TYPE_NAME);
List<IDerivedObject> objects = this.<IDerivedObject>readAllObjectsOfType(typeInfo);
public <T extends IBaseObject> List<T> readAllObjectsOfType(ITypeInfo typeInfo) throws Exception
{
return ObjectBuilder.<T>readAllObjects(typeInfo);
}
IFF模板始終綁定到確切的實現類(例如,不是IBaseObject),模板參數T包含與typeInfo相同的信息。有沒有辦法減少這種重複的信息?這是一個好主意嗎?我不知道,因爲調用java動態綁定模板
ITypeInfo typeInfo = getTypeInfoForName(IDerivedObject.TYPE_NAME);
List<IBaseObject> objects = this.<IBaseObject>readAllObjectsOfType(typeInfo);
是合法的Java,因此,如果不小心被稱爲將構建只有BaseObject部分,而不是DerivedObject部分。
FWIW這將意味着從模板中定義的類構造對象,需要像Class<T> = T.class
,這是不合法的Java,但可以解決每Reflecting Generics