1. Lambda 表达式:
Lambda 表达式是一种更简洁的语法,用于在 Java 中实现函数式编程。它允许你将函数作为方法参数传递,使代码更简洁易读。
// 传统的方式
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("Hello, World!");
}
};
// 使用 Lambda 表达式
Runnable lambdaRunnable = () -> System.out.println("Hello, World!");
2. 函数式接口:
函数式接口是只包含一个抽象方法的接口。Java 8 引入了 @FunctionalInterface 注解来支持函数式编程。
@FunctionalInterface
interface MyFunction {
void myMethod();
}
// 使用函数式接口
MyFunction myFunction = () -> System.out.println("My Method");
3. 流式 API:
流式 API 提供了一种新的处理集合的方式,支持并行处理,并提供了丰富的操作方法(如过滤、映射、归约等)。
List<String> myList = Arrays.asList("apple", "banana", "orange", "pear");
// 使用流式 API 进行过滤和打印
myList.stream()
.filter(s -> s.startsWith("a"))
.forEach(System.out::println);
4. 新的日期和时间 API:
Java 8 引入了 java.time 包,提供了更为强大和灵活的日期和时间处理功能。
// 获取当前日期和时间
LocalDateTime now = LocalDateTime.now();
System.out.println("Current Date and Time: " + now);
// 格式化日期
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formatted = now.format(formatter);
System.out.println("Formatted Date and Time: " + formatted);
5. 默认方法:
接口中可以包含默认方法,这使得在不破坏现有实现的情况下,可以向接口添加新的方法。
interface MyInterface {
void myMethod();
default void defaultMethod() {
System.out.println("Default Method");
}
}
// 实现接口
class MyClass implements MyInterface {
@Override
public void myMethod() {
System.out.println("My Method");
}
}
以上是 Java 8 的一些主要新特性。这些特性使得 Java 语言更加现代化,更容易编写清晰、简洁和高效的代码。
转载请注明出处:http://www.zyzy.cn/article/detail/442/Java