接受任何类并返回数据的Java通用方法?

接受任何类并返回数据的Java通用方法?,java,java-8,Java,Java 8,在Spring批处理代码中,在编写batchUpdate时,我添加了异常处理,在任何记录失败的情况下,我使用下面的逻辑进行处理,这很好。但在我的项目中,我有大约70位作者,我想为下面的代码创建一个通用方法,并在运行时通过Employee、Department、Student、Stock等类,获取详细信息 我该怎么做 private List<Employee> getFailedRecords(Exception e, List<? extends Employee> i

在Spring批处理代码中,在编写batchUpdate时,我添加了异常处理,在任何记录失败的情况下,我使用下面的逻辑进行处理,这很好。但在我的项目中,我有大约70位作者,我想为下面的代码创建一个通用方法,并在运行时通过Employee、Department、Student、Stock等类,获取详细信息

我该怎么做

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,列表问题在哪里?