8-Java-Optional学习

2018-11-10  本文已影响0人  HWZ_f8b3

1. Java中的null    

    在Java中,null - 空指针,即标识一个不确定的对象,该对象没有被初始化,也没有被赋值;在代码中,null通常可以直接赋值引用类型变量,将引用置为空,及该对象并没有分配内存空间!需要注意的是null不可以赋值给基本的变量,因为基本的变量的值是直接放在寄存器中,并不需要像对象那样添加引用,以特定的指向堆中某一个区域。

    在Java中,变量使用遵循的是 定义 -> 初始化后才可以赋值。为了防止null 在Java中大量爆发,所以一般的对象如果没有初始化,一般都是默认为null 。

2. 容器类型与null

     List:允许重复元素,可以加入任意多个null。

     Set:不允许重复元素,最多可以加入一个null。

     Map:Map的key最多可以加入一个null,value字段没有限制。

     数组:基本类型数组,定义后,如果不给定初始值,则java运行时会自动给定值。引用类型数组,不给定初始值,则所有的元素值为null。

3.null在Optional中的含义及应用

    若T类型数据可以为null,Optional<T>是用来以非空值替代T数据类型的一种方法。一个Optional对象可以包含一个非空的T引用(这种情况下我们称之为“存在的”)或者不包含任何东西(这种情况下我们称之为“空缺的”)。但Optional从来不会包含对null值的引用。

4. Java 8中Optional的使用

    Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。Optional 类的引入很好的解决空指针异常。

    http://www.runoob.com/java/java8-optional-class.html


上一篇 下一篇

猜你喜欢

热点阅读