是否有可能將下面的代碼包裝在可重用函數中?調用函數應該返回默認值,如果對象(或任何函數結果)爲空
編輯:這只是一個例子,我想對所有的遞歸深度
什麼,我想的是,下面的代碼生成一個有效的解決方案:
if (MyObject o == null ||
o.getSubObject() == null ||
o..getSubObject().getSubSubObject() == null /*||
... */)
return defaultValue;
return o.getSubObject().getSubObject()/*...*/.getDesiredValue();
通過調用類似
Object defaultValue = null;
Object result = NullSafeCall(o.getSubObject().getSubObject()/*...*/.getDesiredValue(), defaultValue);
seond代碼塊只是一個想法,我不關心它是怎麼樣的,我想要的是,如果需要,我可以在調用更深的功能之前避免所有的檢查...
注射可以做到這一點,但是沒有其他更簡單的解決方案嗎?從來沒有看過注射前尚未...
EDIT2:例如,在另一種語言:http://groovy.codehaus.org/Operators#Operators-SafeNavigationOperator
我對每個解決方案都感興趣......這個問題出現的原因是一個android項目,雖然... – prom85