Function.identity()

点赞再看,养成习惯,大家好,我是辰兮!今天介绍Function.identity()的使用。


一、介绍

Stream流大家应该都不陌生,可以方便日常开发,今天介绍在使用Stream时,需要转换为其他容器或者Map类型,这时候就会用到Function.identity()。

Map<String, ProductionNodeVO> nodeMap = nodes.stream()
.collect(toMap(ProductionNodeVO::getCode, Function.identity()));

Function是interface接口,那么Function.identity()是干什么的呢?

identity()其实就是Function接口的一个静态方法,等价于形如t -> t形式的Lambda表达式。

看源码:

static <T> Function<T, T> identity() {
        return t -> t;
    }

二、使用步骤

如果需要对人员信息进行分组则:

Map<String, PersonInfo> personIdMap = personInfos.stream()
                .collect(toMap(PersonInfo::getPersonId, Function.identity()));


总结

Function.identity()的实现其实就是等价于形如t -> t形式的Lambda表达式。

可以让代码更加优雅化。

最后:

我是辰兮,不开心就笑一笑,世界没有那么糟,咱们下期见!

靓仔们的 【三连】 就是辰兮创作的最大动力,如果本篇博客有任何错误和建议,欢迎靓仔们留言!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辰兮ing

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值