枚举使用方式:
enum关键字:
使用英文逗号
枚举命名格式:所有的枚举值使用全部字母大写的形式定义
它的优点有以下几个:
- 增强了代码的可读性。
- 减少了传递参数的错误概率。
- switch 判断更方便,语法清晰。
- 代码足够简洁、优雅。
枚举常用方法
compareTo方法返回的是下标相减所得到的数
枚举优缺点
优点:
- 增强了代码的可读性。
- 减少了传递参数的错误概率。
- switch 判断更方便,语法清晰。
- 代码足够简洁、优雅。
- 枚举有内置方法,功能更强大
缺点:
不可继承,无法扩展。
Lambda 表达式
Lambda 表达式是 JDK 8 中一个重要的新特性,lambda 表达式允许你通过表达式来代替功能接口(通过表达式通过实现业务功能)。lambda 表达式就和方法一样,它提供了一个正常的参数列表和一个使这些参数的主体(body,可以是一个表达式或一个代码块),Lambda 表达式(Lambdaexpression)可以看作是一个匿名函数。
为什么要用 Lambda?
- 提供了更简单的语法和写代码的方式。
- 取代匿名内部类。
- 简化代码,干净整洁。
Lambda 语法
Lambda 表达式的基本语法如下:
(入参) -> {实现代码};
->:被用于,不可省略
基础使用:
import java.util.Arrays;
import java.util.List;
public class LambdaExample {
public static void main(String[] args) {
List<String> lists = Arrays.asList("Hello", "World", "Java");
// 没使用 lambda 之前
for (String list : lists) {
System.out.println(list);
}
System.out.println();
// 使用 lambda 之后
lists.forEach(s -> System.out.println(s));
}
}
注意事项:
- 如果 lambda 参数的小括号里面只有一个参数,那么小括号可以省略。
- 如果方法体当中只有一句代码,那么大括号可以省略。
- 如果方法体中只有一条语句,其是 return 语句,那么大括号可以省略,且去掉 return 关键字。
但是 Lambda 表达式不能直接使用。
Lambda 表达式不能直接使用,它在使用之前必须初始化,lambda 表达式必须借助函数式接口(@FunctionalInterface)来初始化。
函数式接口:
函数式接口定义:一个接口有且只有一个抽象方法。
Lambda用法:
for each: