Java Lambda表达式学习笔记

owo

注:Lambda表达式是JDK8之后的语法

格式

(形参) -> {
    方法体
}

Arrays.sort(arr, (Integer o1, Integer o2) -> {
    return o1 - o2;
});
  • Lambda表达式可以用来简化匿名内部类的书写
  • 只能简化函数式接口的匿名内部类的写法
  • 有且只有一个抽象方法的接口是函数式接口
  • 可以在接口上方加@FunctionalInterface注解检查

函数式接口示例

@FunctionalInterface
interface Swim{
    public abstract void swimming();
}

Lambda的省略规则

  • 参数类型可以省略
  • 如果只有一个参数,类型和()都可以省略
  • 如果Lambda表达式的方法体只有一行,大括号,分好,return都可以省略。如果省略,需要同时省略

Arrays.sort(arr, (o1, o2) -> o1 - o2);
img_show