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));
posted @   JamieChyi  阅读(12)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示