记录一:根据对象方法名调用方法
private static Object getCategoryValue(Object obj, String methodName) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
Method method = obj.getClass().getMethod(methodName);
Object invoke = method.invoke(obj);
return invoke;
}
记录二:Java8 stream流分组groupingBy使用
// 按人员id分组进行任务数量统计
Map<String, Set<String>> userTaskMap = userTasks.stream().collect(Collectors.groupingBy(TaskInstance::getUserId, Collectors.mapping(TaskInstance::getTaskId, Collectors.toSet())));
如果没有去重的需求,可以这样:
// 按人员id分组进行任务数量统计
Map<String, Set<String>> userTaskMap = userTasks.stream().collect(Collectors.groupingBy(TaskInstance::getUserId, Collectors.mapping(TaskInstance::getTaskId, Collectors.toList())));