Lambda表达式
一--介绍
Lambda 表达式(lambda expression)是一个匿名函数,即没有函数名的函数。
二---为什么要使用Lambda表达式
1)避免匿名内部类定义过多
2)可以让你的代码看起来很简洁
3)去掉一堆没有意义的代码,只留下核心的逻辑
三---理解函数式接口
概念:任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。
1 public interface Runnable { 2 public abstract void run(); 4 }
那么这个函数式接口如何去创建对象呢?这时候Lambda就出场了。可以通过Lambda表达式来创建该接口的对象。
1 public class TestLambda1 { 2 // 3)静态内部类 3 static class Like2 implements Ilike { 4 @Override 5 public void lambda() { 6 System.out.println("i like lambda2"); 7 } 8 } 9 10 11 12 13 public static void main(String[] args) { 14 Ilike like = new Like(); 15 like.lambda(); 16 like = new Like2(); 17 like.lambda(); 18 19 // 4)局部内部类 20 class Like3 implements Ilike { 21 @Override 22 public void lambda() { 23 System.out.println("i like lambda3"); 24 } 25 } 26 like = new Like3(); 27 like.lambda(); 28 29 // 5)匿名内部类,没有类的名称,必须借助接口或者父类 30 like = new Ilike() { 31 @Override 32 public void lambda() { 33 System.out.println("i like lambda4"); 34 } 35 }; 36 like.lambda(); 37 38 // 6)用lambda简化 39 like = () -> { 40 System.out.println("i like lambda5"); 41 }; 42 like.lambda(); 43 44 } 45 } 46 47 // 1)定义一个函数式接口 48 interface Ilike { 49 void lambda(); // 这里不用加abstract 默认就是抽象的。 50 } 51 52 // 2)实现类 53 class Like implements Ilike { 54 @Override 55 public void lambda() { 56 System.out.println("i like lambda"); 57 } 58 }
用Lambda之后只需写核心语句,简化了其它语句。
posted on 2021-04-02 19:15 Love&Share 阅读(62) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~