其他分享
首页 > 其他分享> > Lambda表达式

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之后只需写核心语句,简化了其它语句。

 

标签:like,void,Ilike,Lambda,public,表达式,lambda
来源: https://www.cnblogs.com/YXBLOGXYY/p/14612216.html