Lambda表达式
- 为什么要使用lambda表达式
- 避免匿名内部类定义过多
- 让代码看起来更简洁
- 去掉没有意义的代码,保留核心逻辑
- 理解Functional Interface(函数式接口):
- 任何接口如果只包含一个抽象方法,则称为函数式接口(很函数)
- 可以通过lambda表达式创建该接口的对象
- lambda表达式推导
interface ILike{
void lambda();
}
class Like implements ILike{
@Override
public void lambda() {
System.out.println("i like lambda");
}
}
static class Like2 implements ILike{
@Override
public void lambda() {
System.out.println("i like lambda2");
}
}
class Like3 implements ILike{
@Override
public void lambda() {
System.out.println("i like lambda3");
}
}
like = new ILike() {
@Override
public void lambda() {
System.out.println("i like lambda4");
}
};
like = ()->{
System.out.println("i like lambda5");
};
public class TestLambda1 {
public static void main(String[] args) {
ILike like = ()->{
System.out.println("i like lambda");
};
like.lambda();
}
}
interface ILike{
void lambda();
}
public class TestLambda2 {
public static void main(String[] args) {
ILove love =(String a)->{
System.out.println("love"+a);
};
love.love("起飞1");
love =(a)->{
System.out.println("love"+a);
};
love.love("起飞2");
love =a->{
System.out.println("love"+a);
};
love.love("起飞3");
love = a-> System.out.println("love"+a);
love.love("起飞4");
ILove love1 = a -> System.out.println();
}
}
interface ILove{
void love(String a);
}
- 小结:
- lambda表达式在只有一行方法体的时候可以简化成一行,多行需要用代码块包裹
- 接口必须是函数式接口(抽象函数只有一个,但是可以有static、final)
- 多个参数也可以去掉参数类型,必须全去、全留
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!