Java8 Stream不好用?如何通过 IntelliJ IDEA 提升撸码效率

本文讲述了Java8 Stream API在使用中的一些不便,特别是collect操作的繁琐。作者分享了如何利用IntelliJ IDEA的Live Templates功能,创建自定义模板,如toList、toSet和groupingBy,以提升编写Stream代码的效率。
摘要由CSDN通过智能技术生成

目录

  • Java8 Stream API 的不友好性
  • 借助 IntelliJ IDEA 来优化一下
  • 2.1 新建 Stream Live Templates
  • 2.2 顺手把其他常用的模板设置一下

Java8 Stream API 的不友好性

Java8 自 2014 年 3 月发布以来,已经过去很多个年头了。在公司内部也已逐渐将所有的生产代码迁移到这个版本。迁移中主要所做的工作就是将代码库更新为 lambda 表达式,Stream 流和新的日期 API。另外还使用 Nashorn 动态编写那些可能在运行时需要被更改的功能。

除了 lambda 表达式外,最常用的一个功能就是新的 Stream API 了,它可以被用来很方便地操作集合。此外,Stream 还可以很大的提高集合操作相关代码的可读性。

但是,关于 Stream 流, 有一件事真的让我很困扰!

在使用 Stream 流时,类似 reduce和 findFirst这样的终端操作,语义都是简单明了,也很直接,我们无需再额外传参。

而另一类我们使用比较多的终端操作: collect 用起来就很繁琐了,如我们要转换成 List的时候,我们的写法一般是这样的: .collect(Collectors.toList())。

例如,下面这段代码对字符串集合进行过滤,并转成一个新的集合:

stringCollection
 .stream()
 .filter(e -> e.startsWith(
"a"
))
 .collect(
Collectors
.toList());

又比如,我们要转换成 Set 的时候,需要写成这样:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值