JDK1.8的新特性

Posted chenmc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK1.8的新特性相关的知识,希望对你有一定的参考价值。

前言

以前大致了解过jdl1.8的一些新特性,长时间不用,慢慢忘记了,最近又捡起来看了下,并参考了一些博客,有些许新的收获,特此记录下。

参考博客: https://blog.csdn.net/chengwangbaiko/article/details/73433645

正文

关于1.8的一些新特性,会仔细研究过之后慢慢进行更新。

1. Optional<T>类

Optional<T>类,继承Object,私有构造,是一个可能包含或不包含非空值的容器对象,如果一个值存在, isPresent()将返回true和get()将返回值。

想要获取对象可以直接使用一下几种方法:

Optional<T>的静态方法:
1. Optional.empty()-->返回一个空的Optional实例
2. Optional.of(T value) --> 返回一个具有Optional的当前非空值的optional实例,需要注意的是:这里传的应该是非空值。如果可能为空,请用下面的
3. Optional.ofNullable(T value) -->返回一个具有Optional的当前值的optional实例,如果值为空,则返回一个空的Optional实例。

关于Optional<T>的api,参考附件jdk1.8的API文档。

Optional<T>的一些应用实例:

1. 结合stream进行使用:后面详细说
2. 单独使用:Optional.ofNullable(user.getUserName()).orElse("hello,name is null").toString(); 
//解释下:如果你数据库查询出的user的name字段未知,你要进行null判断,如果未null,则显示为“hello,name is null” 进行返回。toString是为了查询到的name不是String的时候进行转换。

 

以上是关于JDK1.8的新特性的主要内容,如果未能解决你的问题,请参考以下文章

JDK1.8新特性之--方法引用

JDK1.8新特性之--函数式接口

JDK1.8特性(上):函数式接口

快来看看!!JDK1.8新特性之函数式接口

Hadoop3.0的新特性

jdk1.8 Stream 特性总结