![](https://img-blog.csdnimg.cn/2020081520553164.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java8
Java8新特性
程序员卡卡西
架构就是取舍
展开
-
Java 8——Optional
Optional 是一个对象容器,具有以下两个特点: 提示用户要注意该对象有可能为null 简化if else代码 使用 创建 Optional.empty(): 创建一个空的 Optional 实例 Optional.of(T t):创建一个 Optional 实例,当 t为null时抛出异常 Optional.ofNullable(T t):创建一个 Optional 实例,但当 t为null时不会抛出异常,而是返回一个空的实例 获取 get():获取optional实例中的对象,当optio原创 2020-08-16 10:40:45 · 170 阅读 · 0 评论 -
Java8——DateTime
java8 重新定义了一套语义非常清晰的日期、时间Api,位于java.time包中。该包中的所有类都是不可变且线程安全的。 在java8中,java.time包下主要包含下面几个主要的类: Instant:时间戳 Duration:持续时间,时间差 LocalDate:只包含日期,比如:2016-10-20 LocalTime:只包含时间,比如:23:12:10 LocalDateTime:包含日期和时间,比如:2016-10-20 23:14:21 Period:时间段 ZoneOffset:时区偏移量原创 2020-08-16 10:30:55 · 899 阅读 · 0 评论 -
Java8——Stream
Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。 使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简而言之,Stream API 提供了一种高效且易于使用的处理数据的方式。 特点: Stream 自己不会存储元素。 Stream 不会改变源对象。相反,他们会返回一个持有结果的新Stream。 Stream 操作是延迟执行的。这意味着原创 2020-08-16 08:41:37 · 409 阅读 · 0 评论 -
Java8——CompletableFuture
本文将介绍Future模式和CompletableFuture实现异步编程 Future JDK 5引入了Future模式。Future接口是Java多线程Future模式的实现,在java.util.concurrent包中,可以来进行异步计算。 Future模式是多线程设计常用的一种设计模式。Future模式可以理解成:我有一个任务,提交给了Future,Future替我完成这个任务。期间我自己可以去做任何想做的事情。一段时间之后,我就便可以从Future那儿取出结果。 缺点: Future虽然可以实原创 2020-08-15 22:14:52 · 318 阅读 · 0 评论 -
Java8——Lambda
Lambda表达式本质上是将一个函数的代码作为一个参数或变量进行传递,这种处理方式有个专门的名字——函数式编程。 语法 Lambda表达式用于表示一个函数,所以它和函数一样,也拥有参数、返回值、函数体,但它没有函数名,所以Lambda表达式相当于一个匿名函数。语法如下: (Person person)—>person.getAge()>30 Lambda表达式用—>连接,->左侧为函数的参数,->右侧为函数体。 若右侧由多条语句构成则需要用{}包裹,如: (Person pe原创 2020-08-15 21:00:38 · 131 阅读 · 0 评论