本文介紹Java 9 Optional API 新增方法。除了模塊化,Java 9 也給Optional類增加了三個方法。
1. or 方法
有時當(dāng)Optional為空時,我們想執(zhí)行一些其他邏輯并也返回Optional。在Java9之前Optional類僅有orElse()和orElseGet()方法,但兩者都返回非包裝值。
Java9引入or()方法當(dāng)Optional為空時返回另一個Optional。如果Optional有定義值,則傳入or方法的lambda不被執(zhí)行:
@Test public void givenOptional_whenPresent_thenShouldTakeAValueFromIt() { //given String expected = "properValue"; Optionalvalue = Optional.of(expected); Optional defaultValue = Optional.of("default"); //when Optional result = value.or(() -> defaultValue); //then assertThat(result.get()).isEqualTo(expected); }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。