简单使用Lambda表达式

简介: 简单使用Lambda表达式

Lambda标准格式


Lambda省去面向对象的条条框框,格式由3个部分组成:

一些参数

一个箭头

一段代码


Lambda表达式的标准格式为:(参数类型 参数名称)->{代码语句}


自我理解:Lambda表达式就是简化了当个方法的实现过程,不必要为了用一个方法而去创造一个类。比内部类还要简单



Lambda的语法非常简洁,完全没有面向对象复杂的束缚。

但是使用时有几个问题需要特别注意:

  1. 使用Lambda必须具有接口,且要求接口中有且仅有一个抽象方法。


无论是JDK内置的 Runnable 、 Comparator 接口还是自定义的接口,只有当接口中的抽象方法存在且唯一


时,才可以使用Lambda。


   2. 使用Lambda必须具有上下文推断。


也就是方法的参数或局部变量类型必须为Lambda对应的接口类型,才能使用Lambda作为该接口的实例。


备注:有且仅有一个抽象方法的接口,称为“函数式接口”。




publicstaticvoidmain(String[]args){
//匿名内部类写法
newThread(){
@Override
publicvoidrun(){
System.out.println(Thread.currentThread().getName()+"新鲜称创建了");
}
}.start();
//使用Lambda表达式
newThread(()->{
System.out.println(Thread.currentThread().getName()+"新鲜称创建了");
}).start();
}


省略规则


在Lambda标准格式的基础上,使用省略写法的规则为:


1. 小括号内参数的类型可以省略;


2. 如果小括号内有且仅有一个参,则小括号可以省略;


3. 如果大括号内有且仅有一个语句,则无论是否有返回值,都可以省略大括号、return关键字及语句分号。  


相关文章
|
7月前
|
存储 Python
Python函数式编程,如何编写匿名函数(lambda表达式)?
Python函数式编程,如何编写匿名函数(lambda表达式)?
96 2
|
6月前
|
Java
JavaSE——JDk8新特性(1/2):Lambda表达式(具体实现、函数式接口、简化setAll、Comparator),Lambda表达式的省略写法
JavaSE——JDk8新特性(1/2):Lambda表达式(具体实现、函数式接口、简化setAll、Comparator),Lambda表达式的省略写法
58 1
|
Java API 开发者
Lambda表达式:简介、语法和用法
Lambda表达式:简介、语法和用法
14937 8
Lambda表达式:简介、语法和用法
|
算法 编译器 C++
C++11 Lambda表达式的用法与原理
C++11 Lambda表达式的用法与原理
106 0
|
Java API Scala
【JDK新特性】一篇搞懂Lambda表达式 & 函数式接口
【JDK新特性】一篇搞懂Lambda表达式 & 函数式接口
|
自然语言处理 Java 开发者
5.2 Lambda表达式在框架和库中的应用:Lambda表达式在Web开发中的应用
5.2 Lambda表达式在框架和库中的应用:Lambda表达式在Web开发中的应用
88 0
|
安全 Java
5.3 Lambda表达式在框架和库中的应用:在并发编程中使用Lambda表达式
5.3 Lambda表达式在框架和库中的应用:在并发编程中使用Lambda表达式
77 0
|
Java 开发者
5.1 Lambda表达式在框架和库中的应用:使用Lambda表达式简化GUI编程
5.1 Lambda表达式在框架和库中的应用:使用Lambda表达式简化GUI编程
64 0
|
Java 编译器
「 Java基础-Lambda 」试试Lambda表达式?通俗易懂得嘞!
本文从Lambda表达式的基础概念、函数式接口、以及Lambda表达式的常用示例几方面完整的讨论了这一Java8新增的特性,实际开发中确实为我们提供了许多便利,简化了代码。欢迎小伙伴继续提出不同的见解一起讨论!
「 Java基础-Lambda 」试试Lambda表达式?通俗易懂得嘞!
|
Python
Python编程:元类的简单使用
Python编程:元类的简单使用
83 0
Python编程:元类的简单使用