java8新特性(5)— Optional 类
生活随笔
收集整理的這篇文章主要介紹了
java8新特性(5)— Optional 类
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
java8新特性(5)— Optional 類
空指針解決方案
package com.common.jdk8;import java.util.Optional;//Optional 類是一個(gè)可以為null的容器對象。如果值存在則isPresent()方法會(huì)返回true,調(diào)用get()方法會(huì)返回該對象。 //Optional 是個(gè)容器:它可以保存類型T的值,或者僅僅保存null。Optional提供很多有用的方法,這樣我們就不用顯式進(jìn)行空值檢測。 //Optional 類的引入很好的解決空指針異常。 public class Jdk8Test5 {public static void main(String args[]){Jdk8Test5 java8Tester = new Jdk8Test5();Integer value1 = null;Integer value2 = new Integer(10);// Optional.ofNullable - 允許傳遞為 null 參數(shù)Optional<Integer> a = Optional.ofNullable(value1);// Optional.of - 如果傳遞的參數(shù)是 null,拋出異常 NullPointerExceptionOptional<Integer> b = Optional.of(value2);System.out.println(java8Tester.sum(a,b));}public Integer sum(Optional<Integer> a, Optional<Integer> b){// Optional.isPresent - 判斷值是否存在System.out.println("第一個(gè)參數(shù)值存在: " + a.isPresent());System.out.println("第二個(gè)參數(shù)值存在: " + b.isPresent());// Optional.orElse - 如果值存在,返回它,否則返回默認(rèn)值Integer value1 = a.orElse(new Integer(0));//Optional.get - 獲取值,值需要存在Integer value2 = b.get();return value1 + value2;} }運(yùn)行結(jié)果
第一個(gè)參數(shù)值存在: false 第二個(gè)參數(shù)值存在: true 10總結(jié)
以上是生活随笔為你收集整理的java8新特性(5)— Optional 类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS中的JSON解析
- 下一篇: [分布式一致性协议] ------ ra