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的时候进行转换。

猜你喜欢

转载自www.cnblogs.com/chenmc/p/9233428.html