Lambda表达式

/**
* Lamdab推导
*/
public class TestLamdba1 {
//3.静态内部类(写在方法外)
static class Like2 implements Ilike{
@Override
public void lamdba() {
System.out.println("I like lamdba2");
}
}
public static void main(String[] args) {
//之前的写法
Ilike like = new Like();
// like.lamdba();
//4.局部内部类(写在方法中)
class Like3 implements Ilike{
@Override
public void lamdba() {
System.out.println("I like lamdba3");
}
}
//5.匿名内部类。没有类的名字
like = new Ilike() {
@Override
public void lamdba() {
System.out.println("I like lamdba4");
}
};
//6.用Lamdba简化
like = ()->{
System.out.println("I like lamdba5");
};
like.lamdba();
}
}
//1.定义接口。只有一个方法的接口称为:函数式接口
interface Ilike{
void lamdba();
}
//2.定义实现类
class Like implements Ilike{
@Override
public void lamdba() {
System.out.println("I like lamdba");
}
}
/**
* Lamdba再简化
*/
public class TestLamdba2 {
public static void main(String[] args) {
//正常lamdba
Ilove love = (int a) -> {
System.out.println("I love you---->"+a);
};
//简化1.参数类型(多个参数时,要去掉都去掉)
Ilove love2 = (a) -> {
System.out.println("I love you---->"+a);
};
//简化2.去掉括号(适用用只有一个参数)
Ilove love3 = a -> {
System.out.println("I love you---->"+a);
};
//简化3.去掉大括号(适用于逻辑只有一行)
Ilove love4 = a -> System.out.println("I love you---->"+a);
love4.love(3);
}
}
//定义函数式接口
interface Ilove{
void love(int a);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构