0
点赞
收藏
分享

微信扫一扫

开发|Java 8的五大开发技巧

在Java 9发布之前,我们来分享一些Java 8开发技巧,本文翻译自JetBrains高级开发主管Trisha Geed的Java 8 Top Tips。


【以下为译文】


在使用JAVA 8进行开发多年后,结合个人使用IntelliJ IDEA的心得,我总结了以下几个JAVA8技巧供大家参考。


Optional


Optional 是一个被高度低估的特性,假若能把它运用恰当,其实它是能帮助减少大量的NullPointerExceptions(无效指针)错误的。以下是有关Optional使用的两个要点:


  • Optional应只用于返回类型而不是参数或域

如果你尝试这样处理,IntelliJ IDEA将会作出如下提示:


开发|Java 8的五大开发技巧_ide


  • 避免使用调用的get()

Optional的强项是表达空值并让你对此做出处理。所以在进行下一步前进行值检查是很重要的。幸好IntelliJ IDEA也会对出做出提示:


开发|Java 8的五大开发技巧_ide_02


取而代之,可以尝试使用orElse或orElseGet。


开发|Java 8的五大开发技巧_lambda表达式_03


Lambda表达式的使用


Lambda是Java 8的又一个亮点,以下是有关Lambda的使用技巧:


  • 尽量简单

化繁为简是正确使用lambda表达式的关键。你可以把它们简化为单独一行,也可以在方法中重构更复杂的表达式。


开发|Java 8的五大开发技巧_ide_04


  • 清晰明了

由于lambda表达式欠缺类型信息,所以有时会把类型信息放入参数中:


开发|Java 8的五大开发技巧_java_05


这未免过于冗长了,怎么办?我更倾向于为参数起个有意义的名字。例如:


开发|Java 8的五大开发技巧_java_06


Lambda表达式的设计


虽然我们较少会以lambda为参数来创建一个方法,但是如果有这样的需求,该如何处理呢?


  • IntelliJ IDEA能帮助实现函数型参数


开发|Java 8的五大开发技巧_ide_07


  • 为你的函数性接口添加@FunctionalInterface

如果你需要自定义函数性接口,那么IntelliJ IDEA将会成为很好的监督者:

 

  • 覆盖提示:


开发|Java 8的五大开发技巧_java_08


  • 重复声明:


开发|Java 8的五大开发技巧_ide_09


  • 为类而不是接口进行定义:


开发|Java 8的五大开发技巧_lambda表达式_10


Streams(流)


Stream API是Java8新引入的,使用它有哪些地方注意的呢?


  • 有序排列


开发|Java 8的五大开发技巧_java_11


  • 使用方法引用

开发|Java 8的五大开发技巧_lambda表达式_12


  • 进行集合递归时,尽量使用Streams API


请对比下列两段代码:


开发|Java 8的五大开发技巧_lambda表达式_13


在数组循环中使用for循环


在元数据类型数组中使用for循环,将会得到最好的性能表现:


开发|Java 8的五大开发技巧_java_14


小结


我每天都在寻找新方法,尝试新思路,希望能不断完善个人编程的最佳实践。

 

  • 作者:Trisha Gee 翻译:王嘉怡 责编:仲培艺

开发|Java 8的五大开发技巧_java_15

举报

相关推荐

0 条评论