Java 8 新特性教程

连载中

Java 8 新特性教程:Lambda、Stream API、Optional、新日期时间 API 与函数式编程。

20 篇文章 开始阅读

教程目录

1

Java 1.8 BiFunction 函数式接口

BiFunction 接口代表一个接受两个参数并产生结果的操作。它在 Java 中**被广泛用于对两个输入参数进行操作,然后返回一个结果。

2

Java 1.8 Clock

Clock 提供对当前日期和时间的访问。我们可以利用它来替代 System.currentTimeMillis() 方法。另外,通过 clock.instant() 能够获取一个 instant 实例...

3

Java 1.8 Comparator 比较函数式接口

Comparator 接口常用于比较操作,它在集合排序、搜索、自定义排序等场景中提供了灵活的比较策略。

4

Java 1.8 Consumer 消费者函数式接口

Consumer 接口代表一个接受一个参数并且不返回结果的操作。它在 Java 中被广泛用于遍历集合或执行消费型操作。

5

Java 1.8 Function 函数式接口

当 Java 1.8 引入函数式接口时,Function 成为了其中一个重要的接口。Function 接口代表一个接受一个参数并且产生结果的操作。它在 Java 中被广泛用于函数式编程以及 Stream API 中的转换操作。

6

Java 1.8 Lambda 访问接口的默认方法

本小节中,我们将学习 Java 1.8 中如何在 Lambda 中访问接口的默认方法...

7

Java 1.8 Lambda 访问成员变量和静态变量

上一章节中,了解了如何在 Lambda 表达式中访问局部变量。与局部变量相比,在 Lambda 表达式中对成员变量和静态变量拥有读写权限...

8

Java 1.8 Lambda 访问局部变量

在 Lambda 表达式中,我们可以访问外部的 final 类型变量,如下面的示例代码...

9

Java 1.8 LocalDate 日期

LocalDate 是 Java 8 中用于处理日期的不可变类,它只包含日期部分(年、月、日),没有时间和时区。

10

Java 1.8 LocalDateTime 日期时间

LocalDateTime 是 Java 8 中一个不可变的日期-时间对象,它表示了日期(年、月、日)和时间(小时、分钟、秒),但不包含时区。

11

Java 1.8 LocalTime 时间

在 Java 8 之前,我们通常使用 java.util.Date 类和 java.util.Calendar 类来表示和操作日期和时间。然而,这些类存在许多问题,例如不支持时区,API 设计不直观等。为了解决这些问题,Java 8 引入了全新的日期和时间 API,其中包括 LocalTime 类。

12

Java 1.8 Stream 流 Map 元素转换

在 Java 1.8 中,Stream API 提供了 map() 方法用于对流中的元素进行转换操作。map() 方法可以将流中的每个元素映射为另一个值,从而得到一个新的流。

13

Java 1.8 Predicate 断言函数式接口

在 Java 1.8 之前,我们在对集合进行筛选和过滤时,通常需要使用循环和条件语句来手动实现。而 Java 1.8 引入的 Predicate 断言接口,为我们提供了一种简单且优雅的方法来进行集合元素的筛选。

14

Java 1.8 Stream 流 Count 计数

在 Java 1.8 中,Stream API 提供了 count() 方法用于计算流中的元素个数。count() 方法返回一个 long 类型的值,表示流中元素的数量。

15

Java 1.8 Stream 流 Filter 过滤

在 Java 1.8 中,Stream 是一个用于操作集合元素的新 API。Stream API 提供了丰富的功能,其中之一就是 filter() 方法。filter() 方法可以用于过滤集合中的元素,根据指定的条件筛选出满足条件的元素,从而得到一个新的流。

16

Java 1.8 Stream 流 Match 元素匹配

在 Java 1.8 中,Stream API 提供了 allMatch()、anyMatch() 和 noneMatch() 方法用于对流中的元素进行匹配操作。这些方法可以帮助我们快速判断流中的元素是否满足某个条件,从而返回一个布尔值。

17

Java 1.8 Stream 流 Reduce 规约合并

在 Java 1.8 中,Stream API 提供了 reduce() 方法用于将流中的元素进行归约操作。reduce() 方法允许我们根据指定的操作,将流中的元素合并为一个结果。

18

Java 1.8 Stream 流 Sorted 排序

在 Java 1.8 中,Stream API 提供了 sorted() 方法用于对流中的元素进行排序。sorted() 方法可以根据元素的自然顺序(如果元素实现了 Comparable 接口)或者根据指定的比较器进行排序。

19

Java 1.8 Supplier 函数式接口

Supplier 接口代表一个不接受参数但返回结果的操作。它在 Java 中被广泛用于懒加载或产生随机值等场景。

20

Java 1.8 Timezones 时区

ZoneId 代表时区类。通过静态工厂方法方便地获取它,入参我们可以传入某个时区编码。另外,时区类还定义了一个偏移量,用来在当前时刻或某时间 与目标时区时间之间进行转换。