接受任何类并返回数据的Java通用方法?
在Spring批处理代码中,在编写batchUpdate时,我添加了异常处理,在任何记录失败的情况下,我使用下面的逻辑进行处理,这很好。但在我的项目中,我有大约70位作者,我想为下面的代码创建一个通用方法,并在运行时通过Employee、Department、Student、Stock等类,获取详细信息 我该怎么做接受任何类并返回数据的Java通用方法?,java,java-8,Java,Java 8,在Spring批处理代码中,在编写batchUpdate时,我添加了异常处理,在任何记录失败的情况下,我使用下面的逻辑进行处理,这很好。但在我的项目中,我有大约70位作者,我想为下面的代码创建一个通用方法,并在运行时通过Employee、Department、Student、Stock等类,获取详细信息 我该怎么做 private List<Employee> getFailedRecords(Exception e, List<? extends Employee> i
private List<Employee> getFailedRecords(Exception e, List<? extends Employee> items, Map<Integer, String> map){
List<Employee> data = new ArrayList<>();
if (e.getCause() instanceof BatchUpdateException) {
BatchUpdateException be = (BatchUpdateException) e.getCause();
int[] batchRes = be.getUpdateCounts();
if (batchRes != null && batchRes.length > 0) {
for (int index = 0; index < batchRes.length; index++) {
if (batchRes[index] == Statement.EXECUTE_FAILED) {
data.add(items.get(index));
map.put(index, e.getMessage());
}
}
}
}
return data;
}
private List getFailedRecords(例外e,List您只需将该方法设置为泛型:
private <T> List<T> getFailedRecords(Exception e, List<? extends T> items,
Map<Integer, String> map) {
List<T> data = new ArrayList<>();
if (e.getCause() instanceof BatchUpdateException) {
BatchUpdateException be = (BatchUpdateException) e.getCause();
int[] batchRes = be.getUpdateCounts();
if (batchRes != null && batchRes.length > 0) {
for (int index = 0; index < batchRes.length; index++) {
if (batchRes[index] == Statement.EXECUTE_FAILED) {
data.add(items.get(index));
map.put(index, e.getMessage());
}
}
}
}
return data;
}
私有列表getFailedRecords(例外e,列表问题在哪里?