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