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   Love&Share  阅读(62)  评论(0编辑  收藏  举报

编辑推荐:
· 从 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的设计差异
· 三行代码完成国际化适配,妙~啊~

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示