Java 一些异常报错、注意事项(3)

这篇博客总结了Java编程中的一些实用技巧,包括根据对象方法名调用、Java8 Stream流的groupingBy操作、处理Fastjson的循环引用问题、json字符串与Map、List的相互转换,以及@PostConstruct注解的使用场景和执行顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录一:根据对象方法名调用方法

    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())));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值