专栏名称: 程序员大咖
为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE API等等。并不定期奉送各种福利。
目录
相关文章推荐
程序猿  ·  还有人手动画图?一键生成 Draw.io ... ·  昨天  
伯乐在线  ·  周鸿祎:准备干掉 360 整个市场部! ·  2 天前  
伯乐在线  ·  周鸿祎:准备干掉 360 整个市场部! ·  2 天前  
OSC开源社区  ·  苹果开源编程语言Swift官网全新改版 ·  5 天前  
OSC开源社区  ·  pg_mooncake:PostgreSQL ... ·  6 天前  
51好读  ›  专栏  ›  程序员大咖

Java 8 开发顶级技巧

程序员大咖  · 公众号  · 程序员  · 2017-01-23 19:27

正文

请到「今天看啥」查看全文




……或者你可以使用orElseGet说明在值为空的情况下调用哪个方法。这似乎与上面的例子相同,但supplier方法将只在需要的时候调用,因此,如果这是一种昂贵的方法,那么使用lambda会有更佳性能。



2.使用Lambda表达式



Lambda表达式是Java 8的主要特点之一。即使你还没有使用Java 8,你现在可能已经对它们有了基本的了解。它们是用Java编程的一种新的方式,并且什么是“最佳实践”还不明显。下面是我喜欢遵循的一些指引。


>> 保持简短


函数式程序员与较长的lambda表达式相处会更愉快,但那些淫浸于Java多年的人会发现保持lambda表达式为区区几行代码更容易。你甚至可能更愿意将其限制到一行代码,并且你可以轻松重构较长的表达式为一个方法。



这些甚至可能会成为方法引用。方法引用一开始会觉得有点陌生,但实际上坚持方法引用是有价值的,因为它们在某些情况下有助于可读性,后面我会讨论到这一点。



>> 明确


类型信息缺少lambda表达式,所以你可能会觉得包含类型信息用于参数会很有用。



正如你所见,这回变得相当笨拙。所以我更喜欢给参数取一个有用的名字。当然,不管你有没有这么做,IntelliJ IDEA可以让你看到参数得类型信息。









请到「今天看啥」查看全文