java8新增工具类(java.util.Optional) 一个容器类, 表示该实例对象可能无值 使用目的是尽可能避免 NullPointerException 构建实例 返回一个空的 Optional static <T> Optional<T> empty() 返回一个非空有值的 Optional static <T> Optional<T> of(T value) 如果value是null的就返回一个空的 Optional, 否则返回非空有值的 Optional static <T> Optional<T> ofNullable(T value) 123456789 返回 ...
java 8 lambda
lambda 提供一种简化代码的方式; lambda 可以视作一个只有函数参数和方法体的方法, 没有修饰符、函数名和返回值声明; 实现内部类的效果(也内部类类似但有不同点) 能使用 lambda 的接口, 是函数式接口(接口内只有一个抽象方法) 参数 参数可以声明类型, 也可以不声明而由上下文自动推导出类型 参数放在()里, 多个参数使用 "," 分开 一个参数且类型是自动推导出来的, 那么 () 可以省略; 零个参数可以直接写(); 表达式 表达式可以有若干条, 只有一条时, "{}" 可以省略; 只有一行的话, return 可以省略 一些概 ...
java 8 Stream
Stream 说明: java 8 中新增 java.util.stream.Stream 里的类 不同于 IO 流 针对操作集合(Collection)对象里的数据 Stream 是并行化的 Stream对象可以调用多个intermediate(转换) 操作, 但只能有一个 terminal 操作; 多个转换操作会在遇到 terminal 操作之后依次执行,即取集合内的一个元素取出后就依次执行, 相当于只需要for循环一次; 流的操作 把一个数据结构包装成 Stream 后,就要开始对里面的元素进行各类操作了。常见的操作可以归类如下。 Intermediate(转换): map (mapToInt, flatMap 等)、 filter、 distinct、 sorted、 ...