当在Java中操作一个空对象时,将抛出最常见的异常。为了改善此问题,Java 8提供了一种类型。可选类的Javadoc描述如下:这是一个可以null的容器对象。IF。IF。该值存在,该方法将返回true,呼叫方法将返回对象。下面介绍了可选类的使用。如果有类似下面的类结构:
部门课程包含一个员工属性。该类型是员工类包含属性和类型。
可以看出,当引用变量的属性时,有必要确定变量是否先为空,如果不进行检查,可能会导致。BELOW我们将使用可选来改善这一嵌套的层,na列代码。
有几种创建可选对象的方法:
我们可以使用静态出厂方法来创建一个空的可选对象:
我们还可以使用静态工厂方法来创建非空对象的可选对象:
如果员工为空,则此代码将立即抛弃。
使用静态出厂方法,我们可以创建一个可选的对象,该对象允许null值值:
如果员工为空,则将拨打电话。
可选类包含许多方法。下面介绍了这些方法的使用。
顾名思义,如果该值返回为true,则否则将返回false。
如果可选是有价值的,它将返回它,否则将其扔掉。LLES举例说明:
该代码将被捕获到java.util.nosuchelementException:没有值的异常。
如果可选实例很有价值,则称为(函数描述符为),否则不会处理。
如果可选实例有价值,它将返回它,否则返回方法的参数。
该程序将输出。
与该方法类似,该方法被用作默认值,并且可以接受该方法(函数描述符)以生成无声识别。
该程序也已输出。
如果您有价值,请返回它,否则将抛出接口创建的异常。例如:
该代码将被捕获到java.util.nosuchelementException:没有值的异常。
如果可选的值,则呼叫函数的描述符描述为执行调用是为了获取返回值。如果返回值不是null,则将包含返回值的可选元素作为MAP方法返回值创建,否则空的可选将返回。
如果您有值,则执行函数将返回可选类型返回值,否则它将返回到空的可选。,结果不会以可选的方式封装。
通过传递(函数描述符)。
方法输出。
引入可选类的方法后,我们使用可选来改进初始代码:
无损失。