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);
    }
}


目录
相关文章
|
编译器
C++11 lambda表达式(上)
C++11 lambda表达式
78 0
|
3月前
|
算法 编译器 C++
【C++11】lambda表达式
C++11 引入了 Lambda 表达式,这是一种定义匿名函数的方式,极大提升了代码的简洁性和可维护性。本文详细介绍了 Lambda 表达式的语法、捕获机制及应用场景,包括在标准算法、排序和事件回调中的使用,以及高级特性如捕获 `this` 指针和可变 Lambda 表达式。通过这些内容,读者可以全面掌握 Lambda 表达式,提升 C++ 编程技能。
159 3
|
8月前
|
算法 编译器 C++
C++一分钟之—Lambda表达式初探
【6月更文挑战第22天】C++的Lambda表达式是匿名函数的快捷方式,增强函数式编程能力。基本语法:`[capture](params) -> ret_type { body }`。例如,简单的加法lambda:`[](int a, int b) { return a + b; }`。Lambda可用于捕获外部变量(值/引用),作为函数参数,如在`std::sort`中定制比较。注意点包括正确使用捕获列表、`mutable`关键字和返回类型推导。通过实践和理解这些概念,可以写出更简洁高效的C++代码。
74 13
|
9月前
|
Java 编译器
Lambda表达式
Lambda表达式
45 0
|
算法 编译器
C++11 lambda表达式(下)
C++11 lambda表达式(下)
103 2
|
存储 编译器 C++
c++ lambda表达式
c++ lambda表达式
94 0
|
搜索推荐 Java
Lambda表达式详解
Lambda表达式详解
113 0
|
编译器 C#
C#——Lambda表达式
C#——Lambda表达式
110 0
|
C++
C++中的Lambda表达式
在 `C++11` 及之后的版本中,`C++` 提供了 `lambda` 表达式,它是一种方便了参数传递和定义匿名函数的方法。该方法通常用于封装算法、执行异步方法 ,也就是说比较适用于少量的代码。
270 0
C++中的Lambda表达式
|
.NET JavaScript
lambda表达式
1、什么是lambda表达式     lambda表达式实际上是匿名方法的变形。     在C#2.0中引入了匿名方法,允许在期望出现委托的时候以“内联”的代码替代之。尽管匿名方法提供了函数式编程语言中的很多表达能力,但匿名方法的语法实在是太罗嗦了,并且很不自然。
961 0
lambda表达式