所以繼承人我的問題。我有兩個類... SingularEntity和ListEntity。顧名思義,SingularEntity代表一個實體,而一個ListEntity代表一個單一實體列表....該列表明顯具有比SingularEntity本身更爲常見的屬性。所以,我有它擴展了SingularEntity類基於集合的泛型和反射
public class SingularEntity{
}
public class AuthorizationEntity extends SingularEntity{
}
現在我代表任何SingularEntities
public class ListEntity{
public List<? extends SingularEntity> data;
public ListEntity(List<? extends SingularEntity> data){
this.data = data;
}
}
的名單現在,單個ListEntity,我想使用反射來始終填充列表的AuthorizationEntity。 ...並且我總是在results.add方法中遇到錯誤。該方法List.add(CAP#1)不適用。任何幫助表示讚賞樂意
public List<? extends SingularEntity> build() {
List<? extends SingularEntity> results = new ArrayList<SingularEntity>();
try {
Constructor javaBeanClassConstructor =
(Constructor) DTOClass.getDeclaredConstructors()[0];
Class<?>[] constructorParameterTypes =
javaBeanClassConstructor.getParameterTypes();
for (Object[] columns : lstInput) {
Object[] constructorArgs = new Object[constructorParameterTypes.length];
for (int j = 0; j < columns.length; j++) {
Object columnValue = columns[j];
Class<?> parameterType = constructorParameterTypes[j];
// convert the column value to the correct type--if possible
constructorArgs[j] = ConversionManager.getDefaultManager()
.convertObject(columnValue, parameterType);
}
*results.add(javaBeanClassConstructor.newInstance(constructorArgs));*
}
}catch(Exception ex){
}
return results;
}
'javaBeanClassConstructor.newInstance(constructorArgs)'正在返回什麼類型? – sanbhat