Optional 之 orElse(T other) 方法
Optional提供了很多檢測物件值的方法, 很好的解決了空指標異常
get()用來獲取物件的值, 但是值為空就拋異常
orElse(T other)方法也是獲取物件的值, 和get()不同的是, orElse方法可以傳一個其他值, 如果獲取的物件值為空, 則返回傳入的其他值
用例:
Optional<Boolean> result = Optional.empty(); // 有可能為空:拋異常 if (result.get()) { } // 先判斷空再取值,呼叫兩個方法 if (result.isPresent() && result.get()) { } // 使用orElse方法, 如果為空, 返回false if (result.orElse(false)) { }
使用orElse方法使用起來方便又簡潔
看一下原始碼
public T orElse(T other) { return value != null ? value : other; }
相關推薦
Optional 之 orElse(T other) 方法
Optional提供了很多檢測物件值的方法, 很好的解決了空指標異常 get()用來獲取物件的值, 但是值為空就拋異常 orElse(T other)方法也是獲取物件的值, 和get()不同的是, orElse方法可以傳一個其他值, 如果獲取的物件值為空, 則返回傳入的其他值 用例:
JavaScript教程之jQuery - AJAX load() 方法
ash pre var 段落 相關 對象 esc 選擇 none jQuery - AJAX load() 方法 jQuery load() 方法 jQuery load() 方法是簡單但強大的 AJAX 方法。 load() 方法從服務器加載數據,並把返回的數據放入被選
scrapy基礎知識之 使用FormRequest.from_response()方法模擬用戶登錄:
imp gin req params level spa 密碼 重寫 start 通常網站通過 實現對某些表單字段(如數據或是登錄界面中的認證令牌等)的預填充 使用Scrapy抓取網頁時,如果想要預填充或重寫像用戶名、用戶密碼這些表單字段, 可以使用 FormRequest
Hibernate中Session之get和load方法的真正區別
repl .get user href 獲得 tno lose 錯誤 ftw 最近在學習SHH框架中的hibernate,對Session的get和load方法,有點混不清楚,不知道區別在哪,或者對它們的區別感觸不深。所以百度了一下,結果問題來了。百度的結果和實際測試
jQuery獲取文本節點之 text()/val()/html() 方法區別
exist clas multipl not found 個數 jquery代碼 多選 sel content 在jquery中val,text,html都能取到值,或加一個參數來賦值,那麽它們有些什麽區別?下面我們來舉例說明: 首先,html屬性中有兩個方法,一個有參,
設計模式之六:工廠方法模式(Factory method Pattern)
image bsp turn stat ole ati ace 方法 系統擴展 工廠方法(Factory Method)模式就是定義一個創建對象的工廠接口,將實際創建工作推遲到子類當中。 核心工廠類不再負責具體產品的創建,僅提供了具體工廠子類必須實現的接口,這樣核
javascript基礎之字符串方法
abcd font earch 分割 定位 lastindex toupper 參數 方法 1:屬性length就是獲取字符串的長度註意:中文、數字、英語字母、空格,都是1個長度eg:"快樂大本營 oh".length//8var str = ‘abc‘.length;//
PHP類和對象之定義類的方法
name 操作 私有 function 通過 turn 程序設計 需要 冒號 方法就是在類中的function,很多時候我們分不清方法與函數有什麽差別,在面向過程的程序設計中function叫做函數,在面向對象中function則被稱之為方法。 同屬性一樣,類的方法也具有p
設計模式實戰應用之五:工廠方法模式
fontsize -c iterator name 工廠方法 iss sat cep exce 工廠方法模式的定義 工廠方法模式的應用相當廣泛。工廠方法模式在 Java API 中的應用比比皆是:java.util.Collection 接
關於<T> T[] toArray(T[] a) 方法
.get let tid ipa empty for utils != cat http://mopishv0.blog.163.com/blog/static/5445593220101016102129741/ private List<String
JavaScript進階之常用字符串方法總結
com lastindex 作用 ng2 slice index bstr 屬性和方法 script 前面三篇文章簡單的把JavaScript基礎內容過了一遍,我們已經可以用JavaScript寫一些簡單的代碼了。 今天主要總結一下JavaScript中String對象中自
mysql之innodb引擎使用方法
mysql之innodb引擎使用方法前言閑來無事做不如MySQL。一.簡介:1.Linux下使用MySQL數據庫時,為了支持事務操作需要用到InnoDB引擎,對於表中處理的插入,更新等操作失敗時,回滾前面不應該完成的操作是必須的. 2.一般MySQL默認的數據庫引擎是MyISAM,不支持事務和外鍵,則可使用支
重構職場競爭力之測試能力提升方法
重構職場競爭力之測試能力提升方法 重構職場競爭力之測試能力提升方法 通過,這十幾年來一直在金融外包公司就職,在不同城商行出差協助公司處理不同項目的性能測試與優化,加上經歷過08年的金融危機,看過多家企業倒閉、裁員等問題,明白一家企業在市場的競爭力多難,需要有自己
Selenium腳本之基本元素常用方法
自動化測試 selenium webdriver 元素定位 上傳圖片 頁面基本元素:1.圖片上傳方法 private static void fileUpload(WebDriver driver, String s, String filepath) { WebElem
PHP魔術方法之__call與__callStatic方法
ring 魔術方法 local csdn boa -c isset sta 自動調用 [php] view plain copy <?php class human{ private function t(){ } /
python3 爬蟲之Pyquery的使用方法
ger -s pos amp int lxml pyquery add ddc 安裝 pip install pyquery 官方文檔: https://pythonhosted.org/pyquery/ 初始化方式(四種) 1. 直接字符串 from pyquer
C#設計模式之9:模板方法
like not 存在 als col wan 結構 允許 封裝 模板方法 模板方法是一個方法,定義了算法的步驟,並允許子類為一個或多個步驟提供實現。 本例中用沖泡咖啡和茶的例子來說明: 上圖說明了沖泡咖啡和茶的步驟,可以看出沖泡咖啡和茶的步驟差不多,很相似,先來看看沒有
數組的方法之(Array.prototype.reduce() 方法)
回調函數 對數 for type dex 常見用法 返回值 width bubuko reduce函數 reduce() 方法對累加器和數組中的每個元素(從左到右)應用一個函數,將其減少為單個值。 對數組中的所有元素調用指定的回調函數。該回調函數的返回值為累積
Java逆向基礎之AspectJ的Around方法修改方法體
java aspectj around 方法體 在逆向中,我們往往通過修改某個方法達到目的,在javaassist中有insertBefore,insertAfter,setBody,在AspectJ中也可以通過Around實現類似的功能。看一個簡單的例子java文件Main.java//Ma
jdk1.8新特性之接口default方法
sent arguments sel 可能 beyond lar iter none 裏的 眾所周知,default是java的關鍵字之一,使用場景是配合switch關鍵字用於條件分支的默認項。但自從java的jdk1.8橫空出世以後,它就被賦予了另一項很酷的能力——在