我有一个从db获取一些对象的方法:
public <T extends Persistable> List<T> getAllEntitiesEager(
Class clazz, String sortField, SortOrder sortOrder,
Map<String, Object> filters, boolean invalidate);
Run Code Online (Sandbox Code Playgroud)
此方法返回类型中的对象列表clazz.返回的所有对象都实现了接口Persistable.现在我需要一个具体类型列表.这甚至可能吗?
例:
Class UserEntity实现了Persistable,我想做类似的事情:
List<UserEntity> userList = (List<UserEntity)
someObject.getAllEntitiesEager(UserEntity.class,...)
Run Code Online (Sandbox Code Playgroud)
为什么不只是改变的类型clazz来Class<T>?
public <T extends Persistable> List<T> getAllEntitiesEager(Class<T> clazz,
String sortField, SortOrder sortOrder,
Map<String, Object> filters, boolean invalidate);
Run Code Online (Sandbox Code Playgroud)
这样,返回的列表将与传递clazz类型的类型相同.