Lambda表达式
Lambda表达式
Lambda表达式产生的意义:
- 避免匿名内部类定义过多。
- 可以让代码看起来更简洁。
- 去掉了一堆没有意义的代码,只留下核心逻辑。
函数式接口的定义:任何接口,如果只包含唯一一个抽象方法,那么他就是一个函数式接口。
public interface Runnable {
/**
* When an object implementing interface <code>Runnable</code> is used
* to create a thread, starting the thread causes the object's
* <code>run</code> method to be called in that separately executing
* thread.
* <p>
* The general contract of the method <code>run</code> is that it may
* take any action whatsoever.
*
* @see java.lang.Thread#run()
*/
public abstract void run();
}
- 对于函数式接口,我们可以通过lambda表达式老创建该接口的对象。
示例:
package lambda;
/**
* @Description
* @Author wangkui
* @Date 2022-07-28 16:25
* @Version 1.0
*/
public class TestLambda2 {
public static void main(String[] args) {
ILove love = (int a) -> System.out.println("i love you -->" + a);
//继续简化.
love = a -> System.out.println("i love you -->" + a);
love.love(1);
}
}
interface ILove {
/**love
* @param a a
*/
void love(int a);
}
class Live implements ILove {
@Override
public void love(int a) {
System.out.println("i love you -->" + a);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了