為什麼Java 8的Optional不應該用作方法參數
雖然Java 8的Optional是作為返回類型,但它用作方法論點引起了一些爭論。以下是對此問題的簡要分析:
避免選用參數的基本原理
-
不必要的複雜性:使用可選參數引入了條件邏輯方法,可以是適得其反。
-
編譯器效率低:可選包裝涉及不必要的參數裝箱,影響編譯器效能。
-
增加記憶體開銷:可選參數消耗更多記憶體比它們的可空等價物。
-
空的風險參考文獻: 在實際參數中將Optional 作為 null 傳遞是一個潛在的問題。
-
資料流不平衡:Optional 處理兩種狀態(存在和空),在用作時必須將其分開輸入,建立資料流複雜性。
替代方案方法
不要使用選用參數,請考慮以下替代方案:
-
允許可可為空參數:使用可為空參數(例如,String p1、BigDecimal p2)指示潛在的空值,並包含清晰的 Javadoc
-
提供重載方法: 建立使用特定參數組合重載的多個方法,以避免長條件語句。 (例如,calculateSomething(String p1)、calculateSomething(BigDecimal p2)、calculateSomething(String p1, BigDecimal p2))
以上是你應該使用Java 8的Optional作為方法參數嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!