提示五十五:謹(jǐn)慎返回optional

第55條:謹(jǐn)慎返回optional与斤。

  1. 集合、映射尼斧、Stream姜贡、數(shù)組、Optional都不應(yīng)該包裝在Optional中突颊。
  2. 如果無法返回結(jié)果并且當(dāng)沒有返回結(jié)果時客戶端必須執(zhí)行特殊得處理鲁豪,那么就應(yīng)該聲明這個方法返回Optional<T>。
  3. Optional會有一定的性能開銷律秃,如果注重性能則需要慎重考慮Optional爬橡。
  4. 永遠(yuǎn)不應(yīng)該返回基本包裝類型的Optional。
  5. 盡量不要把Optional用作返回值以外的其它用途棒动。
  6. Optional是一個必須進(jìn)行分配和初始化的對象糙申,從optional讀取值時需要額外的開銷。這使得optional不適用于一些注重性能的情況船惨。

平時寫代碼的時候一般用到Optional的時候要么是和Stream一起柜裸,要么是使用Optional.ofNullable來處理一些可能為空的值缕陕,通過orelse可以避免分類討論。單獨使用確實比較少疙挺,更別提當(dāng)做返回結(jié)果了扛邑。我感覺拿到Optional以后還是需要考慮空的問題,這比直接返回null可能好在強(qiáng)制用戶去處理可能的空值铐然?而且Optional.of完全無法接受null蔬崩,所以使用Optional的時候還是需要慎重。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搀暑,一起剝皮案震驚了整個濱河市沥阳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌自点,老刑警劉巖桐罕,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異桂敛,居然都是意外死亡功炮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門术唬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來死宣,“玉大人,你說我怎么就攤上這事碴开。” “怎么了博秫?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵潦牛,是天一觀的道長。 經(jīng)常有香客問我挡育,道長巴碗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任即寒,我火速辦了婚禮橡淆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘母赵。我一直安慰自己逸爵,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布凹嘲。 她就那樣靜靜地躺著师倔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪周蹭。 梳的紋絲不亂的頭發(fā)上趋艘,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天疲恢,我揣著相機(jī)與錄音,去河邊找鬼瓷胧。 笑死显拳,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的搓萧。 我是一名探鬼主播杂数,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼矛绘!你這毒婦竟也來了耍休?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤货矮,失蹤者是張志新(化名)和其女友劉穎羊精,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體囚玫,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡喧锦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了抓督。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片燃少。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖铃在,靈堂內(nèi)的尸體忽然破棺而出阵具,到底是詐尸還是另有隱情,我是刑警寧澤定铜,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布阳液,位于F島的核電站,受9級特大地震影響揣炕,放射性物質(zhì)發(fā)生泄漏帘皿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一畸陡、第九天 我趴在偏房一處隱蔽的房頂上張望鹰溜。 院中可真熱鬧,春花似錦丁恭、人聲如沸曹动。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽仁期。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間跛蛋,已是汗流浹背熬的。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留赊级,地道東北人押框。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像理逊,于是被迫代替她去往敵國和親拙绊。 傳聞我的和親對象是個殘疾皇子春锋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 在Java8之前,要編寫一個在特定環(huán)境下無法返回任何值的方法時,有兩種方法:要么拋出異常贞瞒,要么返回null(假設(shè)返...
    taogan閱讀 2,247評論 0 0
  • 由于創(chuàng)建異常時會捕捉整個堆棧軌跡胎许,因此拋出異常的開銷很高柑司。如果方法返回null踊餐,客戶端就必須包含特殊的代碼來處理返...
    丁松杰閱讀 138評論 0 0
  • 一、Optional類的來源 到目前為止欲侮,臭名昭著的空指針異常是導(dǎo)致Java應(yīng)用程序失敗的最常見原因崭闲。以前,為了解...
    小波同學(xué)閱讀 1,460評論 0 6
  • Optional的學(xué)習(xí)與實戰(zhàn) 整片文章大部分內(nèi)容來自java8實戰(zhàn)這本書,我在這里也是將自己的學(xué)習(xí)過程記錄下來,并...
    Java大寶寶閱讀 2,886評論 2 0
  • 新特性總覽 lambda表達(dá)式 Stream操作數(shù)組 Optional取代null 簡潔的并發(fā)編程 LocalDa...
    androidjp閱讀 2,589評論 0 6