我有一個對象,我想檢查這個對象或嵌套字段是否爲空。我想打印這個neted字段,但我應該檢查是否在某個級別爲null,否則我會得到空指針異常。如何檢查對象和嵌套字段爲空
我知道我能做到這一點:
if(object != null && object.A != null && object.A.B != null && object.A.B.C != null && object.A.B.C.D != null) { doSomething(object.A.B.C.D);}
但它這麼久。你知道更好的方法來檢查它嗎?
你可以試着將嵌套字段到一個數組,然後運行一個空檢查每數組中的對象,但我認爲這太複雜了,實際上並沒有考慮這麼做。但這是一種可能性。 – ForInfinity
防止它們爲空。使用NullObject模式/範例。 https://en.wikipedia.org/wiki/Null_Object_pattern#Java或者什麼Axel sais vvv – Fildor
好吧,如果這是一個複雜的嵌套數據,那麼在結束時檢查並捕獲NPE,如果發生異常,這是無效的。使用異常並不是一個好主意,但在某些「例外」中,我猜這是更容易的 – AxelH