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的新特性的主要内容,如果未能解决你的问题,请参考以下文章