Lambda表达式
2020-11-20 18:59
246 查看
Lambda表达式
Lambda表达式:避免匿名内部类定义过多,去掉一些没有意义的代码,去掉没有意义的代码,只留下核心的逻辑,其本质属于函数式编程的概念(jdk8新增!)。
new Thread (()->System.out.print("Lamda表达式")).start();
使用lambda表达式必须是函数式接口。
package com.lamda; //推导lamda表达式 public class TestLambda1 { //静态内部类 static class Like2 implements ILike{ @Override public void lambda() { System.out.println("I like Lambda2!"); } } public static void main(String[] args) { ILike like = new Like(); like.lambda(); like = new Like2(); like.lambda(); //局部内部类 class Like3 implements ILike{ @Override public void lambda() { System.out.println("I like Lambda3!"); } } like = new Like3(); like.lambda(); //匿名内部类 没有类的名称 必须借助接口或者父类 like = new ILike() { @Override public void lambda() { System.out.println("I like Lambda4!"); } }; like.lambda(); //用lanbda简化 like = ()->{ System.out.println("I like Lambda5!"); }; like.lambda(); } } //定义一个函数式接口 interface ILike{ void lambda(); } //实现类 class Like implements ILike{ @Override public void lambda() { System.out.println("I like Lambda1!"); } }
带参数lambda表达式
package com.lamda; public class TestLambda2 { public static void main(String[] args) { //lambda ILove love = (int a)-> { System.out.println("love"+a); }; love.love(4); } } interface ILove{ void love(int a); }
简化lambda表达式
多个参数去掉参数类型 必须加上括号。
简化花括号 ,只有一行代码的情况下可以简化花括号,多行代码必须使用代码块。
package com.lamda; public class TestLambda2 { public static void main(String[] args) { ILove love = null; /* //lambda Ilove love = (int a)-> { System.out.println("love1"+a); }; love.love(4); */ //简化参数类型 love = (a)-> { System.out.println("love2"+a); }; //简化括号 多个参数去掉参数类型 必须加上括号 love = a -> { System.out.println("love3"+a); }; love.love(520); //简化花括号 只有一行代码的情况下可以简化花括号,多行代码必须使用代码块 love = a ->System.out.println("love4"+a); love.love(520); } } interface ILove{ void love(int a); }
相关文章推荐
- Java函数式编程之最细致的lambda表达式讲解
- Lambda 表达式有何用处?如何使用?
- 【怎样写代码】函数式编程 -- Lambda表达式(四):Lambda表达式与Expression树
- java8中的Lambda表达式
- 「why」关于Lambda表达式的疑问
- c++ 11学习笔记--Lambda 表达式(对比测试Lambda ,bind,Function Object)
- Java巩固篇之线程池、Lambda表达式-Day07
- Linq之Lambda表达式初步认识
- 零基础学python-18.6 lambda表达式快速入门
- 委托,匿名函数和lambda表达式
- javaSE_8系列博客——Java语言的特性(三)--类和对象(20)--嵌套类(Lambda 表达式--VS--方法引用)
- lambda表达式
- java8新特性学习笔记(一) Lambda表达式
- JDK8新特性之Lambda表达式
- Python基础进阶 Zero to Hero 表达式 lambda (一)
- [ZZ]C#3.0语言新特性之Lambda表达式
- Lambda 表达式(C# 编程指南)
- Java8特性详解 lambda表达式 Stream
- 深入浅出 Java 8 Lambda 表达式
- Lambda表达式