您好,登錄后才能下訂單哦!
小編給大家分享一下JDK8如何判空遍歷,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
在工作中,經常會處理各種變量,但往往會在使用變量的時候,要進行空判斷,不然要報錯。
Java 8 提供了判空寫法:
Optional.ofNullable(變量).orElse(默認值);
例1:求字符串 s 的長度( 為空的時候返回0 )。
常規寫法:
String s = getKey();if (s == null) { return 0; } else { return s.length();}
Java 8 寫法:
String s = getKey();return Optional.ofNullable(s).orElse("").length();
例2:循環遍歷集合
常規寫法:
List<String> list = getList();if (list != null) { for(String s: list){ System.out.println(s); }}
Java 8 寫法:
List<String> list = getList();Optional.ofNullable(list).orElse(new ArrayList<>()).forEach(o -> { System.out.println(o);});
PS:使用Optional避免null導致的NullPointerException
空指針異常是導致Java應用程序失敗的最常見原因。以前,為了解決空指針異常,Google公司著名的Guava項目引入了Optional類,Guava通過使用檢查空值的方式來防止代碼污染,它鼓勵程序員寫更干凈的代碼。受到Google Guava的啟發,Optional類已經成為Java 8類庫的一部分。Optional實際上是個容器:它可以保存類型T的值,或者僅僅保存null。Optional提供很多有用的方法,這樣我們就不用顯式進行空值檢測。
Optional.of()或者Optional.ofNullable():創建Optional對象,差別在于of不允許參數是null,而ofNullable則無限制。
// 參數不能是nullOptional<Integer> optional1 = Optional.of(1); // 參數可以是nullOptional<Integer> optional2 = Optional.ofNullable(null); // 參數可以是非nullOptional<Integer> optional3 = Optional.ofNullable(2);
以上是“JDK8如何判空遍歷”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。