01 lamdba表達(dá)式

Lambda 允許把函數(shù)作為一個(gè)方法的參數(shù),使用 Lambda 表達(dá)式可以使代碼變的更加簡(jiǎn)潔緊湊。

1、操作步驟

  • 創(chuàng)建一個(gè)接口LambdaInterface1.java
public interface LambdaInterface1 {
    void test();
}
  • 創(chuàng)建一個(gè)接口LambdaInterface2.java
public interface LambdaInterface2 {
    void test(int n);
}
  • 創(chuàng)建一個(gè)接口LambdaInterface3 .java
public interface LambdaInterface3 {
    void test(int n,int m);
}
  • 通常情況下,我們會(huì)創(chuàng)建這些接口的實(shí)現(xiàn)類,或者使用匿名類如下:
public class LambdaInterface1Impl{
  public void test()
  {
    System.out.println("LambdaInterface1Impl.test()");
  }
}
或者
new LambdaInterface1() {
    @Override
    public void test() {
       System.out.println("LambdaInterface1.test()");
    }
}.test();
  • 在使用了lambda表達(dá)式后,代碼可以簡(jiǎn)化成下面這樣:
((LambdaInterface1) () -> System.out.println("LambdaInterface1.test()")).test();

((LambdaInterface2) n -> System.out.println("LambdaInterface2.test(int n)")).test(2);

(LambdaInterface3) (n, m) -> System.out.println("LambdaInterface3.test(int n, int m)")).test(1, 2);
  • 再舉一個(gè)排序的例子寫成lambda表達(dá)式:
本來(lái)是這樣:
Integer[] is = new Integer[]{6,8,4,34,7,3,23,432};
Arrays.sort(is, new Comparator<Integer>() {
    @Override
    public int compare(Integer o1, Integer o2) {
        return o1-o2;
    }
});
可以簡(jiǎn)化為這樣:
Integer[] is = new Integer[]{6,8,4,34,7,3,23,432};
Arrays.sort(is, (o1, o2) -> o1-o2);

以上就是lambda表達(dá)式的基本用法。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容