Lambda表达式

简介: Lambda表达式

Lambda表达式

Lambda表达式是整个java8发行版中最受期待的在java语言层面上的改变,Lambda允许把函数作为一个方法的参数,或者把代码看成数据。Lambda表达式用于简化java中接口式的匿名内部类,被称为函数式接口的概念。函数式接口就是一个具有一个方法的普通接口,像这样的接口,可以被隐式转换为Lambda表达式

基本使用:

创建一个接口(无参数时):

public interface IEat {
    void eat();
}

lambda演示:

IEat iEat = ()-> System.out.println("eat shi");
iEat.eat();//eat shi

接口有参数时,例如:

public interface IEat{
    void eat(String name,String value);
}

lambda:

IEat iEat = (a,b)-> System.out.println("我吃"+a+b);
 iEat.eat("baba","fenfen");//我吃babafenfen

接口有返回值时:

public interface IEat {
    int eat(int a,int b);
}

lambda:

IEat ieat = Integer::sum;
System.out.println(ieat.eat(3,4));//7

#:案例,对一个对象根据年龄进行排序,用lambda的方式(前面我们是自己定义的比较器,这次我们可以使用lambda表达式来实现)

实体类:

class Cat {
    private String name;
    private int age;
    public Cat(String name, int age) {
        this.name = name;
        this.age = age;
    }
 // get,set,toString
}

代码测试:

Cat[] cats = {new Cat("lili", 12), new Cat("zhan", 1), new Cat("qiqi", 3)};
Arrays.sort(cats,Comparator.comparingInt(Cat::getAge));
System.out.println(Arrays.toString(cats));


目录
相关文章
|
编译器
C++11 lambda表达式(上)
C++11 lambda表达式
63 0
|
1月前
|
安全 Java Serverless
Lambda表达式使用及详解
Java 8引入的Lambda表达式是一种重要的功能,它允许你以更简洁、更直接的方式传递方法。Lambda可以被用来代替只有单个抽象方法的接口的匿名实现类。这里有一些Lambda表达式的实际应用场景及其示例:
|
4月前
|
C++
C++ lambda表达式
C++ lambda表达式
|
5月前
|
Java
lambda表达式详解
lambda表达式详解
|
Java 编译器 C#
C#中的Lambda表达式
C#中的Lambda表达式
69 0
|
编译器 C++
【C++】Lambda表达式的使用
【C++】Lambda表达式的使用
101 0
|
5月前
|
并行计算 Java 编译器
Lambda表达式超详解
Lambda表达式超详解
lambda表达式
lambda表达式是C++11引入的一种简洁的函数定义的方法。lambda表达式具有间接的语法和灵活的使用方式,让代码更加简洁和易读。特别是与function结合起来使得代码的编写更加灵活。本文将简单介绍lambda表达式的相关用法。
|
算法 编译器
C++11 lambda表达式(下)
C++11 lambda表达式(下)
87 2
|
存储 编译器 C++
c++ lambda表达式
c++ lambda表达式
83 0