だからここに私の問題があります。SingularEntity と ListEntity の 2 つのクラスがあります。名前が示すように、SingularEntity はエンティティを表し、ListEntity は特異エンティティのリストを表します....リストには明らかに SingularEntity 自体よりも一般的なプロパティがあります。だから私は SingularEntity クラスを拡張する AuthorizationEntity を持っています
public class SingularEntity{
}
public class AuthorizationEntity extends SingularEntity{
}
これで、任意の SingularEntities のリストを表す単一の ListEntity ができました
public class ListEntity{
public List<? extends SingularEntity> data;
public ListEntity(List<? extends SingularEntity> data){
this.data = data;
}
}
今、リフレクションを使用して常にリストにデータを入力したい....そして、常に 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;
}