随笔分类 - java8
摘要:public class Student { /** 学号 */ private long id; private String name; private int age; /** 年级 */ private int grade; /** 专业 */ private String major; /
阅读全文
摘要:原来的时间类 1.默认值 我们使用起来不方便 2.在不同包 不规范 在java.util和java.sql的包中都有日期类,此外用于格式化和解析的类在java.text包中定义 3.可变 线程不安全 4.时区处理麻烦 java8新的时间 1.都在 java.time 包下 很有规律 2.用final
阅读全文
摘要:java8增加默认方法 静态方法 重复注解 类型注解 1.默认方法 default修饰 为什么要有这个特性? 当修改接口时候,需要修改全部实现该接口的类。为了解决这个问题,所以引进默认方法。 默认方法能让我们给接口增加新的方法,并且能保证对使用这个接口的代码版本的兼容性。 总结:默认方法就是接口可以
阅读全文
摘要:Optional类 java.util.Optional 是一个容器类 避免空指针 NPE 能够快速定位空指针 常用方法: Optional.of(T t) : 创建一个 Optional 实例 Optional.empty() : 创建一个空的 Optional 实例 Optional.ofNul
阅读全文
摘要:并行流 多线程 把一个内容分成多个数据块 不同线程分别处理每个数据块的流 串行流 单线程 一个线程处理所有数据 java8 对并行流优化 StreamAPI 通过parallel() 并行流 sequential() 顺序流 注意: 使用并行流并不是一定会提高效率,因为jvm对数据进行切片和切换线程
阅读全文
摘要:Stream的终止操作 * allMatch 是否匹配所有 * anyMatch 是否匹配一个 * noneMatch 是否没有匹配一个 * findFirst 返回第一个 * count 返回总数 * max 返回最大 * min 返回最小 * reduce 归约 将元素连续操作得到结果 * co
阅读全文
摘要:Stream 的中间操作 filter 过滤 排除元素 filter(T -> boolean) 保留 boolean 为 true 的元素 limit 截断 取得多少个结果 limit(long n) 返回前 n 个元素 skip 跳过几个结果 数量不足 返回空 skip(long n) 去除前
阅读全文
摘要:为什么用stream 应用函数式编程 配合Lamdba表达式 更快操作集合类 数组 什么是 stream 总结: Stream 是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找、遍
阅读全文
摘要:一:方法引用 如果Lambda体中的内容 已经有方法实现了 我们可以使用"方法引用" (可以理解为方法引用是 lambda 表达式的另一种表现形式) 1.对象 :: 实例方法名 2.类::静态方法名 3.类::实例方法名 使用条件: a. lambda 表达式 实现函数式接口中的方法 参数列表(参数
阅读全文
摘要:在使用lamdba表达式需要函数式接口的支持 java8已经提供了很多函数式接口 在java.util.function包下 核心四大函数式接口 其他函数式接口 Consumer<T> 消费型接口 void accept<T t> 一个参数 没有返回值 源码 如何使用 结果 Supplier<T>
阅读全文
摘要:1.自定义函数式接口 MyFun 传入一个参数 返回一个参数 2.定义方法 传入一个参数 n 并将自定义函数式接口MyFun 也作为参数 3.在定义的方法中调用该函数式的getValue()方法 传入一个参数 n 4.main方法调用 对100 做加减乘除 (可以理解为Lambda表达式是对函数式接
阅读全文
摘要:Lambda 表达式的语法格式 基本结构 () -> {} 左侧 参数列表 右侧 方法体 (Lambda体) 1.无参数 无返回值 () ->System.out.println("无参数输出打印语句"); 2.有一个参数 无返回值 (x) ->System.out.println("x"); 3.
阅读全文
摘要:Lambda表达式 主要作用替代匿名内部类 达到简化代码的操作 Lambda表达式 在对象中的使用 Employee类 需求1:得到年龄大于18的员工信息 定义方法 测试类 结果 需求2:得到薪水大于10000的员工信息 定义方法 测试类 结果 总结以上方法 代码重复较多 开始优化 使用Lambda
阅读全文
摘要:为什么用函数式接口 在函数式编程思想下,允许函数本身作为参数传入另一个函数.使用函数式接口实现"传递行为"的思想. Lambda表达式也需要函数式接口的支持 什么是函数式接口 总结: 函数式接口 只有一个抽象方法 函数式接口的标识@FunctionalInterface 解释 1.如果一个接口只有一
阅读全文
摘要:为什么用 Lambda表达式 在java8之前 java语言 方法调用 无法将函数作为一个参数 也无法声明返回一个函数 对比 javaScript是典型函数式语言 总结: Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中) lambda 表达式使代码简洁紧凑。 引出 >函数式编程
阅读全文

浙公网安备 33010602011771号