Est-il possible d'intégrer le code suivant dans une fonction réutilisable?La fonction appelante doit renvoyer la valeur par défaut, si l'objet (ou tout autre résultat de la fonction) est nul
EDIT:cela est juste un exemple, je veux une solution de travail pour toutes les profondeurs de récursion
ce que je veux est que le code suivant est généré:
if (MyObject o == null ||
o.getSubObject() == null ||
o..getSubObject().getSubSubObject() == null /*||
... */)
return defaultValue;
return o.getSubObject().getSubObject()/*...*/.getDesiredValue();
en appelant quelque chose comme
Object defaultValue = null;
Object result = NullSafeCall(o.getSubObject().getSubObject()/*...*/.getDesiredValue(), defaultValue);
Le bloc de code seond est juste une idée, je ne sais pas attention à quoi il ressemble, tout ce que je veux, c'est que je, si désiré, peut éviter toutes les vérifications null
avant d'appeler une fonction plus profonde ...
L'injection pourrait faire cela propably, mais il n'y a pas d'autre/solution plus facile? Jamais regardé injection avant encore ...
EDIT2:exemple dans une autre langue: http://groovy.codehaus.org/Operators#Operators-SafeNavigationOperator
Je suis intéressé par chaque solution ... la raison pour laquelle cette question est survenue est un projet android cependant ... – prom85