前言
Java Labmda表達(dá)式的一個重要用法是簡化某些匿名內(nèi)部類(Anonymous Classes)的寫法。實(shí)際上Lambda表達(dá)式并不僅僅是匿名內(nèi)部類的語法糖,JVM內(nèi)部是通過invokedynamic指令來實(shí)現(xiàn)Lambda表達(dá)式的。具體原理放到下一篇。本篇我們首先感受一下使用Lambda表達(dá)式帶來的便利之處。
取代某些匿名內(nèi)部類
本節(jié)將介紹如何使用Lambda表達(dá)式簡化匿名內(nèi)部類的書寫,但Lambda表達(dá)式并不能取代所有的匿名內(nèi)部類,只能用來取代函數(shù)接口(Functional Interface)的簡寫。先別在乎細(xì)節(jié),看幾個例子再說。
例子1:無參函數(shù)的簡寫
如果需要新建一個線程,一種常見的寫法是這樣:
// JDK7 匿名內(nèi)部類寫法 new Thread(new Runnable(){// 接口名 @Override public void
網(wǎng)友評論