Java - Lambda

從零開始的JAVA世界 2022-01-07 06:29:22 阅读数:639

java lambda

黑馬視頻:https://www.bilibili.com/video/BV1Cv411372m?p=127

Lambda概述

  • JDK 8+
  • 作用:簡化匿名內部類的代碼寫法
  • Lambda錶達式簡化格式
    * (匿名內部類被重寫方法的形參列錶)-> {被重寫方法的方法體代碼}
  • 注意:Lambda錶達式只能簡化函數式接口的匿名內部類的寫法
  • 函數式接口:
    • 是接口且接口中只有一個抽象方法
    • 函數式接口注解 @FunctionalInterface
package Lambda;
public class LambdaDemo01 {

public static void main(String[] args) {

//匿名內部類
Animal a = new Animal() {

@Override
public void run() {

System.out.println("runrunrun");;
}
};
//Lambda簡化後
Animal b = () -> {

System.out.println("runrunrun");
};
}
}
@FunctionalInterface
interface Animal {

public abstract void run();
}

Lambda錶達式省略規則

在這裏插入圖片描述

package Lambda;
import java.util.Arrays;
import java.util.Comparator;
public class LambdaDemo02 {

public static void main(String[] args) {

Integer[] arr = {
12,33,32,4,563,2};
Arrays.sort(arr, new Comparator<Integer>() {

@Override
public int compare(Integer o1, Integer o2) {

return o1-o2;
}
});
//Lambda簡化比較器
Arrays.sort(arr,(Integer o1,Integer o2)->{
return o1-o2;});
//可以省略形參類型
Arrays.sort(arr,(o1,o2)->{
return o1-o2;});
//只有一個形參可以省略 ()
//方法體只有一行代碼,可以省略{} ; ,如果是return則 省略{} return ;
Arrays.sort(arr,(Integer o1,Integer o2)->o1-o2);
}
}
版权声明:本文为[從零開始的JAVA世界]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201070629220227.html