首頁  >  文章  >  Java  >  如何優雅地處理 Getter 鏈中的空檢查:Optional 與 Demeter 法則?

如何優雅地處理 Getter 鏈中的空檢查:Optional 與 Demeter 法則?

Susan Sarandon
Susan Sarandon原創
2024-10-27 07:23:29352瀏覽

How to Gracefully Handle Null Checks in Getter Chains: Optional vs. Law of Demeter?

Getter 調用鏈中空檢查的優雅處理

在軟體開發中,經常會遇到需要鍊式getter 的情況調用,例如:

但是,如果鏈上的任何物件為null,則此類鏈可能容易受到NullPointerExceptions 的影響。為了防止這種情況,開發人員經常採用冗長的 if-null 檢查,增加不必要的複雜性和程式碼重複。

替代方法

雖然沒有超出- Java 中的the-box 實用程式類別來處理這個問題,有一些優雅的替代方案:

違反Demeter 定律

根據@Erwin Bolwidt 的建議,你可以打破德米特法則(LoD) 並直接訪問嵌套屬性:

不鼓勵這種方法,因為它違反了封裝原則並增加了程式碼複雜性。

Java 8 可選

Java 8 引入了Optional 類型,它允許您更優雅地處理null。您可以將每個 getter 呼叫包裝在Optional中:

這種方法消除了顯式空檢查的需要,並提供了更簡潔和更具表現力的語法。

結論

雖然沒有內建實用程式用於檢查getter 鏈中的空值,但可選類型和違反Demeter 定律提供了靈活且依賴於上下文的解決方案。選擇最佳方法取決於特定場景和專案的設計原則。

以上是如何優雅地處理 Getter 鏈中的空檢查:Optional 與 Demeter 法則?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn