Java8在2014年三月发布了。我们打算将Pondus的所有生产服务器升级到这一新版本。从那时起,我们将大部分代码库迁移到lambda表达式、数据流和新的日期API上。我们也会使用Nashorn来把我们的应用中运行时发生改变的部分变成动态脚本。
除了lambda,最实用的特性是新的数据流API。集合 *** 作在任何我见过的代码库中都随处可见。而且对于那些集合 *** 作,数据流是提升代码可读性的好方法。
但是一件关于数据流的事情十分令我困扰:数据流只提供了几个终端 *** 作,例如reduce和findFirst属于直接 *** 作,其它的只能通过collect来访问。工具类Collctors提供了一些便利的收集器,例如toList、toSet、joining和groupingBy。
例如,下面的代码对一个字符串集合进行过滤,并创建新的列表:
stringCollection
stream()
filter(e -> estartsWith( "a"))
collect(CollectorstoList());
在迁移了300k行代码到数据流之后,我可以说,toList、toSet、和groupingBy是你的项目中最常用的终止 *** 作。所以我不能理解为什么不把这些方法直接集成到Stream接口上面,这样你就可以直接编写:
stringCollection
stream()
filter(e -> estartsWith( "a"))
toList();
这在开始看起来是个小缺陷,但是如果你需要一遍又一遍地编写这些代码,它会非常烦人。
有toArray()方法但是没有toList(),所以我真心希望一些便利的收集器可以在Java9中这样添加到Stream接口中。是吧,Brian?ಠ_ಠ
注:Streamjs是浏览器上的Java 8 数据流API的JavaScript接口,并解决了上述问题。所有重要的终止 *** 作都可以直接在流上访问,十分方便。详情请见API文档。
无论如何,IntelliJ IDEA声称它是最智能的Java IDE。所以让我们看看如何使用IDEA来解决这一问题。
使用 IntelliJ IDEA 来帮忙
IntelliJ IDEA自带了一个便利的特性,叫做实时模板(Live Template)。如果你还不知道它是什么:实时模板是一些常用代码段的快捷方式。例如,你键入sout并按下TAB键,IDEA就会插入代码段Systemoutprintln()。更多信息请见这里。
如何用实时模板来解决上述问题?实际上我们只需要为所有普遍使用的默认数据流收集器创建我们自己的实时模板。例如,我们可以创建toList缩写的实时模板,来自动插入适当的收集器collect(CollectorstoList())。
下面是它在实际工作中的样子:
让我们看看如何自己构建它。首先访问设置(Settings)并在左侧的菜单中选择实时模板。你也可以使用对话框左上角的便利的输入过滤。
下面我们可以通过右侧的+图标创建一个新的组,叫做Stream。接下来我们向组中添加所有数据流相关的实时模板。我经常使用默认的收集器toList、toSet、groupingBy 和 join,所以我为每个这些方法都创建了新的实时模板。
这一步非常重要。在添加新的实时模板之后,你需要在对话框底部指定合适的上下文。你需要选择Java → Other,然后定义缩写、描述和实际的模板代码。
// Abbreviation: toList
collect(CollectorstoList())
// Abbreviation: toSet
collect(CollectorstoSet())
// Abbreviation: join
collect(Collectorsjoining( "$END$"))
// Abbreviation: groupBy
collect(CollectorsgroupingBy(e -> $END$))
特殊的变量$END$指定在使用模板之后的光标位置,所以你可以直接在这个位置上打字,例如,定义连接分隔符。
提示:你应该开启"Add unambiguous imports on the fly"(自动添加明确的导入)选项,便于让IDEA自动添加 javautilstreamCollectors的导入语句。选项在 Editor → General → Auto Import中。
让我们在实际工作中看看这两个模板:
连接分组
Intellij IDEA中的实时模板非常灵活且强大。你可以用它来极大提升代码的生产力。你知道实时模板可以拯救生活的其它例子吗?请让我知道!
作者:布客飞龙 segmentfaultcom/a/1190000006033999
在IntelliJ IDEA中集成Tomcat服务器,可以方便地进行Web应用程序的开发、测试和调试。它提供了以下一些主要功能:1 集成Tomcat服务器:IDEA提供了与Tomcat服务器的集成,可以轻松启动、停止和重启Tomcat服务器,而不必手动配置或管理Tomcat服务器。
2 部署Web应用程序:IDEA可以帮助您快速部署Web应用程序到Tomcat服务器,只需将应用程序的WAR文件或目录拖放到Tomcat服务器即可完成部署。
3 调试Web应用程序:IDEA可以与Tomcat服务器无缝集成,支持在Tomcat服务器上进行Java代码的远程调试,方便您进行调试和测试Web应用程序。
4 监控Tomcat服务器:IDEA提供了Tomcat服务器的监控和管理工具,可以查看Tomcat服务器的状态、配置和日志等信息,并进行必要的管理和优化。
5 自动重载Web应用程序:IDEA支持在Tomcat服务器上自动重载修改后的Web应用程序,不需要手动重启Tomcat服务器或重新部署应用程序。
总之,IntelliJ IDEA集成Tomcat服务器的功能非常丰富,可以帮助您更方便、高效地进行Web应用程序的开发、测试和调试。无论您是初学者还是有经验的开发人员,都可以通过使用IntelliJ IDEA和Tomcat服务器来提高开发效率和质量。官网:>1 在制作镜像是把 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 这个命令也加进去,例如 ENTRYPOINT ["java","-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005", "-jar", "/springboot-10-SNAPSHOTjar"] ,如下图所示:idea怎样编写小程序api黄菊华
idea怎样编写小程序api黄菊华
1 创建小程序目录:在idea中,新建一个项目,并在其中创建一个小程序目录,用于存放小程序的文件。
2 编写api:在小程序目录中,新建一个文件夹,用于存放api文件,并在其中编写api文件。
3 将api文件引入小程序:在小程序的页面文件中,引入api文件,以便调用api文件中的接口。
4 将api文件发布到小程序服务器:将api文件发布到小程序服务器,以便在小程序中调用api接口。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)