Java 将接口列表转换为混凝土类型列表
我有一个方法可以从数据库中获取一些对象:Java 将接口列表转换为混凝土类型列表,java,generics,Java,Generics,我有一个方法可以从数据库中获取一些对象: public <T extends Persistable> List<T> getAllEntitiesEager( Class clazz, String sortField, SortOrder sortOrder, Map<String, Object> filters, boolean invalidate); 使用这种类型的代码 List<? extends your
public <T extends Persistable> List<T> getAllEntitiesEager(
Class clazz, String sortField, SortOrder sortOrder,
Map<String, Object> filters, boolean invalidate);
使用这种类型的代码
List<? extends yourParentClass>
List使用这种类型的代码
List<? extends yourParentClass>
List为什么不将clazz
的类型更改为Class
public List getallentieseager(类clazz,
字符串sortField,SortOrder SortOrder,
映射过滤器,布尔无效);
这样,返回的列表的类型将与您传递的clazz
类型相同。为什么不将clazz
的类型更改为Class
public List getallentieseager(类clazz,
字符串sortField,SortOrder SortOrder,
映射过滤器,布尔无效);
这样,返回的列表将与您传递的clazz
类型相同。您的方法签名应声明泛型类类型类clazz
,因此返回的列表将与相同类类型相同:
public List getAllentieseager(类clazz、字符串sortField、SortOrder SortOrder、映射过滤器、布尔无效);
是的,这是可行的:)您的方法签名应该声明泛型类类型类clazz
,这样返回的列表将与相同的类类型一致:
public List getAllentieseager(类clazz、字符串sortField、SortOrder SortOrder、映射过滤器、布尔无效);
是的,这是可行的:)我认为如果您将Class clazz
更改为Class clazz
,您可以通过自动装箱实现这一点。。。我没有一个开发环境来测试这一点很抱歉如果您将类clazz
更改为类clazz
,我认为您可以通过自动装箱来实现这一点。。。我没有一个开发环境来测试这个,抱歉Ahhh…一定是瞎了:D.谢谢你的澄清!啊…一定是瞎了:D.谢谢你的澄清!自动装箱从何而来?自动装箱与此有何关系?自动装箱从何而来?自动装箱与此有何关系?
public <T extends Persistable> List<T> getAllEntitiesEager(Class<T> clazz,
String sortField, SortOrder sortOrder,
Map<String, Object> filters, boolean invalidate);