JDK8 新特性实战
JDK8 新特性实战
Andycuigo
wanna and got
展开
-
JDK8新特性-Lambda表达式
概念 Lambda允许把函数作为一个方法的参数 语法 (parameters) -> expression 或(parameters) ->{ statements; } 特征 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。 可选的大括号:如果主体包含了一个语句,就不需要使用大括号。 可选的返回关键字...原创 2019-09-19 09:23:23 · 118 阅读 · 0 评论 -
JDK8新特性-函数式接口
什么是函数式接口 就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。 已知的接口使用了@FunctionalInterface注解 首先,常用接口Callable、Runnable、Comparator等在JDK8中都添加了@FunctionalInterface注解。 为什么要使用@FunctionalInterface注解 该注解只能标记函数式接口 该注解不是必须的,如果一个接口...原创 2019-09-19 09:36:56 · 132 阅读 · 0 评论 -
JDK8新特性- 方法引用
为什么要使用方法引用 使用::来指定方法名使用方法减少冗余代码。 实例 在这里插入代码片 参考文献:https://www.runoob.com/java/java8-method-references.html原创 2019-09-20 16:40:07 · 116 阅读 · 0 评论 -
JDK8 四大核心函数式接口Function、Consumer、Supplier、Predicate
Function<T, R> /** * Applies this function to the given argument. * * @param t the function argument * @return the function result */ R apply(T t); Consumer Suppli...原创 2019-09-23 09:44:26 · 548 阅读 · 0 评论 -
JDK8新特性-默认方法
什么是默认方法呢 就是在接口中有实现方法,并且接口实现类不需要实现该方法,接口中的默认方法使用关键字default修饰。 源码例子 @FunctionalInterface public interface Predicate<T> { default Predicate<T> negate() { return (t) -> !test(t)...原创 2019-09-23 10:48:59 · 177 阅读 · 0 评论 -
JDK8新特性-Stream
版权声明: 本文转载于陈争云,占宇剑和司磊在developerWorks上发表的《Java8中的Streams API详解》一文。 为什么需要 Stream Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX对 XML 解析的 Stream,也不是 Amazon Kinesis 对...转载 2019-09-24 14:23:08 · 180 阅读 · 0 评论 -
JDK8新特性-Optional使用总结
为什么jdk8中加入了Optional 使用过java判断NPE(空指针异常)问题的小伙伴,一定知道判空的代码写起来一点都不优雅并且会出现运行时期经常会出现NPE。Optional自带判空函数,是代码更加整洁和优雅。 构造方法 源码 static Optional empty() 描述:返回空的 Optional 实例 使用场景:内部value是null。 public static&l...原创 2019-09-24 16:20:03 · 319 阅读 · 0 评论 -
JDK8新特性-日期时间
为什么要引入新的日期时间 日期类不提供国际化,没有时区支持,虽然Java引入java.util.Calendar和java.util.TimeZone类,但是问题没有得到解决。 java.util.Date 是线程不安全的,所有的日期类都是可变的。 java.util.Date包含日期和时间,java.sql.Date只包含日期,再加上名字相同,最关键的是用于格式化和解析的类在java.text...原创 2019-09-24 17:45:11 · 398 阅读 · 0 评论