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-06-17
Milo
放纵必需的自由而求暂时的安全的人们,结果既失去自由,又得不到安全——富兰克林 分享一个OPC UA的Java实现 https://github.com/eclipse/milo OPC UA Client SDK12345<dependency> <groupId>org.eclipse.milo</groupId> <artifactId>sdk-client</artifactId> <version>0.6.9</version></dependency> OPC UA Server SDK12345<dependency> <groupId>org.eclipse.milo</groupId> <artifactId>sdk-server</artifactId> <version>0.6.9</version></dependency>
2022-12-20
hibernate-validator校验对象属性为List
君子拙于不知己而信于知己也——司马迁 文档: https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#_with_list 我们这里首先引入starter 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId></dependency> 然后我们带两个Entity以及一个Controller 123456789101112131415161718package com.ruben.simplestreamquery.pojo;import lombok.Data;import javax.validation.constraints.NotEmpty;import javax.validation.constrain...
2024-08-11
whimsy在macos安装
大厦之成,非一木之材也;大海之润,非一流之归也。——《东周列国志》 方式很简单: https://github.com/apache/whimsy/blob/master/SETUPMYMAC.md 如下: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661...
2021-05-13
Class下的getEnumConstants
人生是一次航行。航行中必然遇到从各个方面袭来的劲风,然而每一阵风都会加快你的航速。只要你稳住航舵,即使是暴风雨,也不会使你偏离航向。 ——西·切威廉斯【美】 我们使用枚举过程中,可能会有这种需求 通过传入一个枚举的Class获取枚举里的各个常量值 其实这里有一个函数可以满足我们的需求 1java.lang.Class#getEnumConstants 在java.lang.Class类下有个函数getEnumConstants 我们可以这么使用 12345678910111213141516171819public static void main(String[] args) { LikeSelectTypeEnum[] values = getEnumValues(LikeSelectTypeEnum.class); Arrays.stream(values).forEach(System.out::println);}/** * 通过class获取枚举内的常量 * * @param type 枚举对应的class * @return T...
2021-02-19
replaceAll坑
学如弓弩,才如箭镞,识以领之,方能中鹄。一一袁枚 前两天遇到一个坑,在使用String.replace()和replaceAll的时候 因为没有看过API和注释,拿着就开用,结果造成一个bug 这里留做记录 场景是这样的,我对一个字符串进行替换,将[idea]替换为""时使用了replaceAll,导致其他不该被替换的字符也被替换了 这段代码 123String str = "Hino Supa and ruben";System.out.println(str.replace("[idea]", ""));System.out.println(str.replaceAll("[idea]", "")); 输出的结果为 12Hino Supa and rubenHno Sup n rubn 可以看到,replaceAll把我们的[idea]当做了正则表达式… 点进源码一看注释,好家伙 第一句就是 123Replaces each substring of...
2022-05-19
sqlite读取文件初始库表
一旦发现英雄也会落井,投石的人会格外勇敢,人群会格外拥挤。——《芳华》 目录结构: GAV 12345678910111213141516171819<dependency> <groupId>com.ejlchina</groupId> <artifactId>bean-searcher-boot-starter</artifactId> <version>3.6.0</version></dependency><dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.36.0.3</version></dependency><dependency> <groupId>org.projectlom...

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