提示四十三:方法引用優(yōu)于 lambda 表達(dá)式探入。
lambda 優(yōu)于匿名類(lèi)的主要優(yōu)點(diǎn)是它更簡(jiǎn)潔狡孔,而方法引用比它更簡(jiǎn)潔。
map.merge(key,1,(count,incr) -> count + incr);
map.merge(key,1, Integet::sum);
文中舉了上面的這個(gè)例子說(shuō)明了方法引用的簡(jiǎn)潔蜂嗽,而且由于命名上的優(yōu)勢(shì)苗膝,方法引用還有更好的可讀性和可維護(hù)性。但是lambda表達(dá)式用途更廣植旧,而且某些時(shí)候還會(huì)更短更清晰辱揭,這個(gè)時(shí)候就應(yīng)該優(yōu)先用lambda,否則都推薦使用方法引用病附。
service.execute(GoshThisClassNameIsHumongous::action);
service.execute(() -> action());
平時(shí)寫(xiě)代碼的時(shí)候我一般都會(huì)更喜歡方法引用问窃,而且即使偶爾一開(kāi)始沒(méi)有發(fā)現(xiàn)可以使用方法引用,idea也會(huì)提示優(yōu)化完沪,還是比較方便的域庇。而且有時(shí)候lambda表示式比較長(zhǎng),比較復(fù)雜的時(shí)候可以抽幾個(gè)方法出來(lái)覆积,通過(guò)友好的名字來(lái)表達(dá)想要做的事情听皿。