JDK 8 新特性 之 Lambda表达式
时间:2022-07-22
本文章向大家介绍JDK 8 新特性 之 Lambda表达式,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前言
- Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。
- Lambda 允许把函数作为参数传递进方法中。
- 使用 Lambda 表达式可以使代码变的更加简洁紧凑。
- lambda表达式的重要特征:
- 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。
- 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。
- 可选的大括号:如果主体包含了一个语句,就不需要使用大括号。
- 可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值。
JDK8 之前调用接口的方式是通过匿名内部类,调用接口中的方法。
@FunctionalInterface
public interface FunctionInterface {
void get();
}
public class FunctionTest {
public static void main(String[] args) {
FunctionInterface functionInterface = new FunctionInterface() {
@Override
public void get() {
System.out.println("get方法");
}
};
functionInterface.get();
}
}
使用Lambda表达式调用接口中的方法
@FunctionalInterface
public interface FunctionInterface {
void get();
}
public class FunctionTest {
public static void main(String[] args) {
FunctionInterface ft = () -> {
System.out.println("JDK8 Lambda表达式调用:get方法");
};
ft.get();
}
}
() : 表示抽象方法所需的参数列表,(参数1,参数2) -> : 固定格式 {} :表示抽象方法的方法体
有返回值的Lambda表达式调用方法
@FunctionalInterface
public interface FunctionInterface2 {
String get();
}
public class FunctionTest {
public static void main(String[] args) {
FunctionInterface2 functionInterface2 = () -> {
return "有返回值的Lambda表达式调用方法";
};
System.out.println(functionInterface2.get());
/**
* 优化:有返回值的Lambda表达式调用方法
*/
FunctionInterface2 functionInterface3 = () -> "优化:有返回值的Lambda表达式调用方法";
System.out.println(functionInterface3.get());
}
}
有参数,有返回值的Lambda表达式调用方法
@FunctionalInterface
public interface FunctionInterface3 {
String get(String s);
}
public class FunctionTest {
public static void main(String[] args) {
FunctionInterface3 ft3 = (String s)-> s;
System.out.println(ft3.get("有参数,有返回值的Lambda表达式调用方法"));
}
}
- MYSQL通过存储过程实现批量建表
- SSL 证书部署过程
- MYSQL官方与主流开源版本基准压测对比
- 基础知识:多人使用一个Github仓库
- 基于Ubuntu16.04的微信小程序搭建过程
- 搭建微信小程序教程:基于CentOS 7.6的教程
- MySQL根据5.1.34之前版本的一个BUG分析O_DIRECT
- Git面试常见问题
- 剑指offer代码解析——面试题17合并两个排序的链表
- MySQL优化方案(一)优化SQL脚本与索引
- 从0学习MySQL系列(二)安装篇
- 从0学习MySQL系列(三)概念篇
- SQL Server基础SQL脚本之主外键约束
- SQL Server基础SQL脚本之Group By
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法