提示四十三:方法引用优于 lambda 表达式。
lambda 优于匿名类的主要优点是它更简洁,而方法引用比它更简洁。
map.merge(key,1,(count,incr) -> count + incr);
map.merge(key,1, Integet::sum);
文中举了上面的这个例子说明了方法引用的简洁,而且由于命名上的优势,方法引用还有更好的可读性和可维护性。但是lambda表达式用途更广,而且某些时候还会更短更清晰,这个时候就应该优先用lambda,否则都推荐使用方法引用。
service.execute(GoshThisClassNameIsHumongous::action);
service.execute(() -> action());
平时写代码的时候我一般都会更喜欢方法引用,而且即使偶尔一开始没有发现可以使用方法引用,idea也会提示优化,还是比较方便的。而且有时候lambda表示式比较长,比较复杂的时候可以抽几个方法出来,通过友好的名字来表达想要做的事情。
网友评论