JDK 1.8新增的主要类
JDK 1.8引入了许多新特性,主要集中在Lambda表达式、Stream API、新的日期时间API等。以下是部分新增的核心类:
java.util.stream
Stream:支持函数式编程的流操作。Collectors:提供常见的归约操作(如转换为集合、分组等)。
java.time
LocalDate、LocalTime、LocalDateTime:不可变的日期时间对象。ZonedDateTime:带时区的日期时间。DateTimeFormatter:日期时间格式化。
java.util.function
Predicate、Function、Consumer、Supplier:函数式接口,支持Lambda表达式。
java.util.Optional
Optional:容器类,避免空指针异常。
java.util.concurrent
CompletableFuture:异步编程支持。
JDK 1.8常用的新方法
Stream API方法
filter(Predicate):过滤元素。map(Function):转换元素。forEach(Consumer):遍历元素。collect(Collector):将流转换为集合或其他形式。reduce:归约操作。
日期时间API方法
LocalDate.now():获取当前日期。LocalDate.of(int year, int month, int day):创建指定日期。DateTimeFormatter.ofPattern(String):自定义格式化。
Optional类方法
Optional.ofNullable(T):创建可能为空的Optional。orElse(T):如果值为空返回默认值。
函数式接口方法
Predicate.test(T):测试条件。Function.apply(T):应用函数。
示例代码:Stream API
java
List<String> list = Arrays.asList("a", "b", "c");
list.stream()
.filter(s -> s.startsWith("a"))
.forEach(System.out::println);
示例代码:日期时间API
java
LocalDate date = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String formattedDate = date.format(formatter);
示例代码:Optional
java
Optional<String> optional = Optional.ofNullable(null);
String value = optional.orElse("default");
这些新增的类和方法显著提升了代码的简洁性和功能性,尤其在集合处理、异步编程和日期时间操作方面。