lambda(新的语法规范)
// 箭头操作符 "->" 用于在Java中定义lambda表达式 是一种新的语言规范
// 这是一个lambda表达式的例子,它接受两个整数并返回它们的和:
(int a, int b) -> a + b;
stream(针对集合的操作)
// Stream API,它提供了一种以函数式方式处理数据集合的方法 经常配合lambda使用
// 这是使用Stream的filter()方法从列表中过滤出偶数的示例:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> oddNumbers = numbers.stream()
.filter(n -> n % 2 != 0)
.collect(Collectors.toList());
Collectors.mapping()Stream收集器用于将流中的元素进行映射,并将映射结果收集到一个集合中。它接受两个参数:映射函数和收集器。
eg:分组且只取values中的一个字段
list.stream().collect(Collectors.groupingBy(Object::id,Collectors.mapping(Object::name,Collectors.toList())))
Object::namewe为需要映射的函数,Collectors.toList()定义需要转换的集合
Optional(针对null的处理)
- 提供了链式调用的方法
- 支持函数式编程lambda
-
Optional.ofNullable() ifPresent() 不为null是可进行一些操作处理 没有返回值 isPresent() 返回布尔值 为null是false 不为null是true orElseGet() 当改值为null时会执行该操作,并返回约定的类型 orElseThrow() 为null定义抛出的异常信息 剩下都是一些常见的flatMap、map等操作 ……
localDate的好处
1.8之前的日期时间处理起来比较麻烦,且不是线程安全的;
1.8新引入的日期时间是线程安全的,有更加丰富的API功能,更加方便的计算时间
新的日期和时间API的设计也更加符合人类的习惯,比如月份从1开始,而不是从0开始。
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.time.Instant;
import java.time.Duration;
// 示例代码:
LocalDate date = LocalDate.now(); // 获取当前日期
LocalTime time = LocalTime.now(); // 获取当前时间
LocalDateTime dateTime = LocalDateTime.now(); // 获取当前日期和时间
Instant instant = Instant.now(); // 获取当前时间戳
Duration duration = Duration.ofMinutes(30); // 创建一个30分钟的时间段
- THE END -
最后修改:2024年2月18日
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://jiaheming.cn/2023/05/java8%e7%89%b9%e6%80%a7%e6%80%bb%e7%bb%93/

共有 0 条评论