1. 日期时间API
过去:java.util.Date 是非线程安全的,所有的日期类都是可变的;没有时区的支持;
现在:java.time包涵盖了所有处理日期,时间,日期/时间,时区,时刻(instants),过程(during)与时钟(clock)的操作。
两个最重要的API(应用程序编程接口)为:
- **Local(本地)** − 简化了日期时间的处理,没有时区的问题。
- **Zoned(时区)** − 通过制定的时区处理日期时间。
2. **Lambda 表达式**:Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。
Lambda表达式概括:Lambda表达式是JDK1.8之后的一种语法,是一个匿名函数,是对匿名函数的简写形式,我们可以把 Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递),可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升;
Lambda讲解参考文献:
[详解Java中的Lambda表达式_java中的lamada表达式-CSDN博客](https://blog.csdn.net/weixin_45082647/article/details/106991685)
[Java Lambda 表达式 | 菜鸟教程 (runoob.com)](https://www.runoob.com/java/java8-lambda-expressions.html)
3. **方法引用** − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。
```
import java.util.List;
import java.util.ArrayList;
public class Java8Tester {
public static void main(String args[]){
List<String> names = new ArrayList();
names.add("Google");
names.add("Runoob");
names.add("Taobao");
names.add("Baidu");
names.add("Sina");
names.forEach(System.out::println);
}
}
```
参考文献:[Java 8 方法引用 | 菜鸟教程 (runoob.com)](https://www.runoob.com/java/java8-method-references.html)