Lambda表达式

简介: Lambda表达式

Lambda表达式

使用前提:

必须是接口,接口中只能有一个抽象方法

格式:

(数据类型1 参数名,数据类型2 参数名2…)->{方法体}

():代表的是要执行接口中对应的抽象方法。方法中有参数就需要传递参数。

->:固定格式,作用是将小括号中的参数传递给后面的大括号方法体中。

{}:代表的是实现接口中抽象方法的方法体。


public interface Animal {
  abstract void eat();
}
//测试类
public class Test {
  public static void userAnimal(Animal a) {
    a.eat();
  }
  public static void main(String[] args) {
//通过匿名类实现
//    userAnimal(new Animal() {
//      @Override
//      public void eat() {
//        System.out.println("吃肉");
//      }
//    });
    userAnimal(
        //eat()无参
        ()->{System.out.println("狗吃肉");}
        );
  }
}

函数式接口

lambda省略规则:

1.方法中只有一个参数时,数据类型和小括号都可以省略。

2.方法中有多个参数,数据类型可以省略。

3.大括号中只有一行代码,大括号、return、分号可以一起省略。

//接口
public interface Animal {
  public abstract int geSum(int num1,int num2);
}
//测试类
public class Test {
    public static void main(String[] args) {
      method(10, 20,(int num1,int num2)->{return num1+num2;});
    }
    public static void method(int num1,int num2,Animal a) {
      int result = a.geSum(num1, num2);
      System.out.println(result);
    }
}


目录
相关文章
|
8月前
|
编译器
C++11 lambda表达式(上)
C++11 lambda表达式
37 0
|
18天前
|
Java 编译器
Lambda表达式
Lambda表达式
14 0
|
18天前
|
算法 编译器 C++
C++中的lambda表达式
C++中的lambda表达式
7 0
|
18天前
|
Java
lambda表达式详解
lambda表达式详解
|
9月前
|
Java 编译器 C#
C#中的Lambda表达式
C#中的Lambda表达式
46 0
|
10月前
|
编译器 C++
【C++】Lambda表达式的使用
【C++】Lambda表达式的使用
66 0
|
18天前
|
算法 编译器
C++11(lambda表达式)
C++11(lambda表达式)
34 0
|
8月前
|
算法 搜索推荐 编译器
C++11:lambda表达式
C++11:lambda表达式
27 0
|
12月前
|
存储 算法 编译器
lambda表达式的介绍
lambda表达式的介绍
83 0
|
12月前
|
搜索推荐 Java
Lambda表达式详解
Lambda表达式详解

热门文章

最新文章