背景
java9的一再推遲發(fā)布,似乎讓我們恍然想起離發(fā)布java8已經(jīng)過去了三年之久,java8應(yīng)該算的上java語言在歷代版本中變化最大的一個版本了,最大的新特性應(yīng)該算得上是增加了lambda表達(dá)式,借助lambda表達(dá)式,我們可以編寫出性能更好,可讀性更強(qiáng)的代碼,更重要的,它給我們帶來了一種編程思想的改革,作為一個活躍了20多年的編程語言,java能夠做到與時俱進(jìn),擁抱新變化,實(shí)屬不易,雖然現(xiàn)在很多公司包括我所在的公司尚未把jdk升級到最新的版本,但關(guān)注并學(xué)習(xí)每一個版本帶來的新變化,是每個java程序員都該做的事,因?yàn)檎沁@些變化代表了這門語言未來的發(fā)展方向.可以預(yù)想,幾年以后lambda表達(dá)式必將在整個java開發(fā)領(lǐng)域完成普及和應(yīng)用,因此現(xiàn)在,對我們來說,是時候把lambda表達(dá)式學(xué)起來了,廢話就說這么多,下面就讓我們了解一下lambda的強(qiáng)大.
入門
從外部迭代到內(nèi)部迭代
拿一個簡單的例子來說,如果我們需要遍歷一個List集合,需要怎么做,一般是下邊這樣:
List<String> lists=Arrays.asList("a","b","c","d"); for (String s:lists){ System.out.println(s); }
java8給我提供了Collection.forEach()方法,于是我們可以這樣編程:
List<String> lists=Arrays.asList("a","b","c","d"); lists.forEach(