Collectors.toMap的对null友好实现
发表于|更新于
|浏览量:
令她反感的,远不是世界的丑陋,而是这个世界所戴的漂亮面具。——《不能承受的生命之轻》
我们在使用toMap时如果遇到null元素,经常会导致我们发生npe
很不方便
于是我给hutool提交了一个PR
完美解决了这个问题
使用方式:
升级到hutool-5.7.20
然后使用CollectorUtil
1 | Map<String, Integer> collect = Arrays.asList("ruben", "a chao", "vampire", "RUBEN", "VAMPIRE", null).stream().collect(CollectorUtil.toMap(Function.identity(), String::length, (l, r) -> l)); |
即可
相关推荐
2023-03-15
关联表更新封装
凭自己的本事和正当手段挣来的钱财,可以使我们赢得道义和幸福——阿基兰 分享一个关联更新函数 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174package com.ruben.simplestreamquery...
2020-11-03
使用@Select注解写<foreach>
智慧是宝石,如果用谦虚镶边,就会更加灿烂夺目。——高尔基 只需要加<sceipt>标签就可以了 1234567@Select({"<script>" + "select * from user where id in " + "<foreach item = 'id' index = 'index' collection = 'list' open='(' separator=',' close=')'>" + "#{id}" + "</foreach>" + "</script>"})List<User> selectU...
2024-10-16
Dromara 亮相 COSCon'24 中国开源年会,共话国产开源未来
相鼠有皮,人而无仪!人而无仪,不死何为?——先秦《国风·廊风·相鼠》 时间:2024 年 11 月 2-3 日地点:北京·中关村国家自主创新示范区展示中心 由开源社主办的 COSCon’24 中国开源年会暨开源社 10周年嘉年华将在北京隆重举办。作为国内开源界的年度盛会,本次大会汇聚了大量开源爱好者、技术专家和行业领袖,共同探讨开源技术的未来发展。此次大会设有多个分论坛,其中中间件 /微服务分论坛由 Dromara 开源组织出品,Dromara 社区将携多位成员带来精彩的技术分享,展示国产开源力量。 Dromara 是由国内顶尖的开源项目作者共同组成的开源社区。提供包括分布式事务,日志,流行工具,企业级认证,微服务,运维监控,调度编排等一系列开源产品。技术栈全面开源共建、 保持社区中立。让参与的每一位开源爱好者,体会到开源的快乐。 Dromara开源社区目前拥有15+GVP项目,总star数量超过三十万,构建了上万人的开源社区,有成千上万的个人及团队在使用Dromara社区的开源项目。 本次 Dromara 社区至少有三位成员将在论坛上进行演讲,覆盖 AI、数据操作...
2024-04-11
mybatis-plus启动时自动执行sql脚本
不劳动,无所得。——富兰克林 源码地址: mybatis-plus-samples/mybatis-plus-sample-ddl-mysql/src/main/java/com/baomidou/mybatisplus/samples/ddl/mysql/MysqlDdl.java at master · baomidou/mybatis-plus-samples · GitHub 代码如下: 1234567891011121314151617181920212223242526272829package com.baomidou.mybatisplus.samples.ddl.mysql;import com.baomidou.mybatisplus.extension.ddl.SimpleDdl;import org.springframework.stereotype.Component;import java.util.Arrays;import ...
2022-06-12
bean-searcher整合mybatis-plus逻辑删除
人死像熟透的梨,离树而落,梨者,离也。——《活着》 需要用到参数过滤器: https://bs.zhxu.cn/guide/latest/advance.html#%E5%8F%82%E6%95%B0%E8%BF%87%E6%BB%A4%E5%99%A8 123456789101112131415161718192021@Beanpublic ParamFilter logicDeleteFilter() { return new ParamFilter() { @Override public <T> Map<String, Object> doFilter(BeanMeta<T> beanMeta, Map<String, Object> paraMap) { // beanMeta 是正在检索的实体类的元信息, paraMap 是当前的检索参数 // 返回过滤后的检索参数 TableInfo t...
2024-03-26
idea下载不下来maven三方库源码处理(二)
把每一个黎明看作是生命的开始,把每一个黄昏看作你生命的小结。——罗斯金 实际上我这里就是因为配置maven镜像不正确导致的: 原先我的配置: 123456<mirror> <id>nexus-tencentyun</id> <mirrorOf>central</mirrorOf> <name>Nexus tencentyun</name> <url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url></mirror> 现在: 123456<mirror> <id>nexus-tencentyun</id> <mirrorOf>*</mirrorOf> <name>Nexus tencentyun</name> <url>htt...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog