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));
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!