
JDK1.8新特性
文章平均质量分 79
MrMoving
running on the way
展开
-
流式编程一
一、流特性概述使用流,无需迭代集合中的元素,就可以从管道提取和操作元素。这些管道通常被组合在一起,形成一系列对流进行操作的管道。流可以在不使用赋值或可变数据的情况下对有状态的系统建模,这非常有用声明式编程(Declarative programming)是一种编程风格,它声明想要做什么,而非指明如何做(命令式编程)显式地编写迭代过程的方式称为外部迭代,而内部迭代是流式编程的一个核心特征,无须显示的书写繁琐的迭代过程。流是懒加载的。这代表着它只在绝对必要时才计算。你可以将流看作“延迟列表”。由于计算原创 2020-08-21 07:34:08 · 809 阅读 · 0 评论 -
流式编程二
一、流特性概述使用流,无需迭代集合中的元素,就可以从管道提取和操作元素。这些管道通常被组合在一起,形成一系列对流进行操作的管道。流可以在不使用赋值或可变数据的情况下对有状态的系统建模,这非常有用声明式编程(Declarative programming)是一种编程风格,它声明想要做什么,而非指明如何做显式地编写迭代过程的方式称为外部迭代,而内部迭代是流式编程的一个核心特征,无须显示的书写繁琐的迭代过程。流是懒加载的。这代表着它只在绝对必要时才计算。你可以将流看作“延迟列表”。由于计算延迟,流使我们原创 2020-08-21 15:46:53 · 533 阅读 · 0 评论 -
Lambda表达式 与 方法引用
Lambda表达式Lambda 表达式是使用最小可能语法编写的函数定义:Lambda 表达式产生函数,而不是类。 在 JVM(Java Virtual Machine,Java 虚拟机)上,一切都是一个类,因此在幕后执行各种操作使 Lambda 看起来像函数 —— 但作为程序员,你可以高兴地假装它们“只是函数”。Lambda 语法尽可能少,这正是为了使 Lambda 易于编写和使用。我们在 Strategize.java 中看到了一个 Lambda 表达式,但还有其他语法变体:// f原创 2020-08-17 22:03:20 · 465 阅读 · 0 评论 -
JDK1.8新特性04--Optional处理空指针问题
空指针异常是导致Java应用程序失败的最常见原因。以前,为了解决空指针异常,Google公司著名的Guava项目引入了Optional类,Guava通过使用检查空值的方式来防止代码污染,它鼓励程序员写更干净的代码。受到Google Guava的启发,Optional类已经成为Java 8类库的一部分。Optional实际上是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很...转载 2019-11-22 17:12:46 · 825 阅读 · 1 评论 -
JDK1.8新特性01--函数式接口
1. 新增 函数式接口 概念函数式接口,只包含一个抽象方法的接口。同时提供了注解@FunctionalInterface 可以检测是否符合函数式接口格式。注意:假如接口声明了一个覆盖java.lang.Object的全局方法之一的抽象方法,那么它不会计入接口的抽象方法数量中,因为对于这类方法,任何实现类都有继承自Object的实现或自己定义的实现。 比如comparator接口jdk1...原创 2019-11-06 18:37:59 · 183 阅读 · 0 评论 -
JDK1.8新特性03--Stream
java.util.Stream 概念概念不同于传统的IO流,stream不是一种数据结构,它只是某种数据源的一个视图,数据源可以是一个数组,Java容器或I/O channel等。Stream为函数式编程而生。对stream的任何修改都不会修改背后的数据源,比如对stream执行过滤操作并不会删除被过滤的元素,而是会产生一个不包含被过滤元素的新stream。Stream 操作分为中间...转载 2019-11-10 15:57:42 · 266 阅读 · 0 评论