发布时间:2025-09-21
浏览次数:0
你知道的越多,不知道的就越多,业余的像一棵小草!
你来,我们一起精进!你不来,我和你的竞争对手一起精进!
编辑由业余草提供,信息来源于www.zhihu.com,推荐链接为https://www..com/?p=5041。
Java8于2014年3月问世,至今已近六年时光。我们计划将所有生产服务器更换为此新版本来进行更新。自那以后,我们已将多数代码库转换至表达式、数据流以及全新的日期接口上。同时,我们还将借助该技术,将应用中动态变化的部分转化为可执行脚本。
最关键的优势在于更新的数据流接口。集合运算在各种程序代码中都很常见。针对这些集合运算,数据流能够有效增强代码的清晰度。
然而,数据流方面存在一个颇为棘手的问题:它仅包含少数几个终止动作,比如直接操作和属于,而其余功能则需借助特定途径实现。工具类为此配备了若干实用收集器,诸如toSet、以及等。
例如,下面的代码对一个字符串集合进行过滤,并创建新的列表:
stringCollection
.stream()
.filter(e -> e.startsWith("a"))
.collect(Collectors.toList());
转移了三十万行程序代码至数据流平台后,可以指出,toSet以及是整个工程里运用最为广泛的收尾动作。实在难以明白为何不将这些功能直接纳入框架,以便使用者能够直接书写:
stringCollection
.stream()
.filter(e -> e.startsWith("a"))
.toList();
起初这算是个微不足道的问题,可要是得反复写这段代码,就会变得相当令人头疼。
存在某些途径intellij idea 怎么使用,却不存在另一些途径,因此我衷心期盼,若干便于使用的收集工具能够像在Java9中那样,被加入到接口里。
该接口是浏览器环境下的Java 8 流式数据处理API的调用端,同时处理了之前提到的难题。关键的控制操作能够直接在流上实现,非常便捷。具体信息请参考API的相关文档。
不管怎样,IDEA都宣称自己是最聪明的Java开发环境,那么我们接下来探讨如何借助IDEA来处理这个难题。
使用 IDEA 来帮忙
IDEA内置了一项实用功能,名为即时模板。若你尚不清楚其用途:即时模板实质上是常用代码片段的简捷入口。比如,当输入sout并敲击TAB键时,IDEA便会自动填充代码段out()。详情请访问此网址,具体内容位于该页面,网址为https://www..com/help/idea/using-live-.html。
怎样借助动态样板来处理前述事务?基本上,我们只需为所有常用标准数据源适配器配备专属的即时样板。比如,能够设计简写形式的动态样板,用以自动填充正确的适配器。
下面是它在实际工作中的样子:
构建你自己的实时模板
让我们来探讨如何自行创建这个。先去设置界面,然后在左侧的选项卡里找到实时模板。还可以借助对话框左上角那个方便的筛选工具来输入。
我们现在可以借助右侧的加号标志来组建一个新群组intellij idea 怎么使用,命名为。然后我们将所有涉及数据流的即时模板都加入该群组。我惯常运用默认的收集器、toSet以及join,因此针对每种这些方法,我都分别制作了新的即时模板。
这个环节十分关键。新增即时样板后,必须于对话框尾端设定适宜的背景信息。需选取Java类别下的其他选项,继而设定简称、注解以及真正的样板文本。
// Abbreviation: .toList
.collect(Collectors.toList())
// Abbreviation: .toSet
.collect(Collectors.toSet())
// Abbreviation: .join
.collect(Collectors.joining("$END$"))
// Abbreviation: .groupBy
.collect(Collectors依据$END$进行分组)
特定的标记$END$标示了模板应用完成后的编辑起点,因此可以在此处直接输入,比如用来设定连接的分隔字符。
应当打开自动添加导入的开关,这样IDEA就能自动加上java.util的导入语句了。这个选项位于路径 → → Auto里面。
让我们在实际工作中看看这两个模板:
1、连接
2、分组
IDEA里的即时模板十分便利,功能也很全面。借助这个工具,能显著增强编写代码的效率。
你知道实时模板可以拯救生活的其它例子吗?
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码