Java 8 最佳技巧

指定太多的方法:

在类中使用注解而不是在接口:

Lambda 表达式可用于任意只包含单个抽象方法的接口中,但是不能用于满足该要求的抽象类。看似不符合逻辑,但实际要求必须如此。

Streams

Stream API 是Java 8的另一大卖点, 我认为到现在为止,我们仍然不知道这会对我们的编码方式有多大改变.但我发现这是一个好坏参半的功能。

流式风格

就我个人而言,更喜欢使用流式风格.当然你不必也这么做, 但我发现它帮助了我:

  • 一眼就能看出有哪些操作,它的执行顺序是什么
  • 更方便调试(虽然IntelliJ IDEA提供了 在包含lambda表达式的行上设置断点的能力 ,为了更方便调试,把它拆分到不同的行上)
  • 在测试的时候允许取消一个操作
  • 在调试或测试是,可以很方便的插入peek()
在我看来这样写很简洁。但是使用这种方法并没有给我们节省多少代码行。你可能需要调整代码格式化设置让代码看起来更加清晰。

使用方法引用

是的,你需要一点时间来适应这个奇怪的语法。但如果使用恰当,真的可以提升代码的可读性,看看下面代码:

以及使用 Objects 类的辅助方法:

后面一段代码更加的明确可读。IntelliJ IDEA 通常会知道怎么将一个 Lambda 表达式进行折叠。