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)); |
即可
相关推荐
2024-04-16
mybatis判断批量操作是否全部执行成功
报纸是这个世界的镜子。——埃利斯 例如这样的代码: 123456789101112131415161718192021222324252627282930313233343536373839404142434445import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.ExecutorType;import java.util.List;import org.apache.ibatis.executor.BatchResult;public class BatchOperationExample { public boolean checkAllBatchResultsSuccessful(List<BatchResult> batchResults) { for (BatchResult result : batchResults) { int[] updateCounts = result.g...
2023-07-25
apache-incubator-streampark源码编译本地运行(五)
相信谎言的人必将在真理之前毁灭。——赫尔巴特 今天是这个报错 是install完成后,console提示shaded包下面类找不到 此时我们需要mvn clean下项目,然后取消勾选右侧的shaded模块 最后关闭项目,删除目录下的.idea文件夹,重新打开,install 再次运行即可
2020-09-26
java简单爬虫
最好不要在夕阳西下的时候去幻想什么,而要在旭日初升的时候即投入工作。——谢觉哉 还在为壁纸发愁吗?今天手把手教你写爬虫! 注意!仅供学习交流使用,请勿用在歪门邪道的地方!技术只是工具!关键在于用途! 顺带一提,大家一定要注意不要违法了哦 12345第二百八十五条 违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。二百八十六条 违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款的规定处罚。故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后果严重的,依照第一款的规定处罚。第二百八十七条 利用计算机实施金融诈骗、盗窃、贪污、挪用公款、窃取国家秘密或者其他犯罪的,依照本法有关规定定罪处罚。 如果爬虫程序采集到公民的姓名、身份证件号码、通信通讯联系方式、住址、账号密码、财产状况、行踪轨迹...
2023-12-28
spring注解排除某些bean
劳动是唯一导向知识的道路。——萧伯纳 使用: 12@ComponentScan(excludeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = {WillExludeBean.class, AnotherWillExludeBean.class})}) 即可 这里还有其他的过滤类型 例如注解 123@ComponentScan(excludeFilters = @Filter( type = FilterType.ANNOTATION, value = Service.class)) 切面 123@ComponentScan(includeFilters = @Filter( type = FilterType.ASPECTJ, pattern = "com.example..*Service+")) 正则 123@ComponentScan(includeFilters ...
2022-07-31
javadoc @apiNote、@implSpe、@implNote不识别问题
在逆风里把握方向,做暴风雨中的海燕,做不改颜色的孤星。——余光中 我们使用maven-javadoc-plugin进行生成javadoc时,发现没有识别jdk8新标签 解决方式见:https://github.com/nipafx/demo-javadoc-8-tags/blob/master/pom.xml?ts=4#L110-L133 手动配置tags即可 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980<build> <plugins> <!-- Maven编译插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> ...
2023-01-29
jackson序列化时区问题
念人之过必忘人之功——佚名 今天发现返回给前端的Date和数据库中查到的时间对不上 排查发现是Jackson指定时区问题,原先用的GMT+8,但数据库是Asia/Shanghai 123ObjectMapper shanghaiObjectMapper = new ObjectMapper() .setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")) .setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); 引用:https://alphahinex.github.io/2021/10/31/difference-between-gmt-plus-8-and-asia-shanghai/ 里面提到的 GMT+8 和 Asia/Shanghai 的区别 GMT+8 因为没有位置信息,所以无法使用夏令时 Asia/Shanghai 使用夏令时 时间戳字符串中不包含时区...

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