Je cherche à remplir un objet avec des valeurs d'un objet xml complexe. Pour arriver à la bonne valeur je dois passer à travers une grande chaîne d'éléments et je dois les vérifier tous pour ne pas être nul. Donc, mon code ressemblera à ceci X 9 fois. Je ne veux pas arrêter le processus de remplissage juste parce qu'un élément est manquant, je veux sauter le pointeur null en quelque sorte et arriver à la prochaine propriété. Ma seule idée est de mettre chaque ligne dans un bloc try/catch. Vous avez de meilleures idées? MerciLa meilleure façon d'autoriser une annonce d'exception de pointeur nul est de la corriger
objModel.setProviderHeadquarterName(obj.getObject("YYY") != null && obj.getObject("YYY").getArray("gob") != null && obj.getObject("YYY").getArray("gob").size() > 0 && obj.getObject("YYY").getArray("gob") != null ? obj.getObject("YYY").getArray("gob").getObject(0).getString("gobValue") : "");
objModel.setProviderHeadquarterName(obj.getObject("XXX") != null && obj.getObject("XXX").getArray("tem") != null && obj.getObject("XXX").getArray("tem").size() > 0 && obj.getObject("XXX").getArray("tem") != null ? obj.getObject("XXX").getArray("tem").getObject(0).getString("temValue") : "");
objModel.setProviderHeadquarterName(obj.getObject("ZZZ") != null && obj.getObject("ZZZ").getArray("has") != null && obj.getObject("ZZZ").getArray("has").size() > 0 && obj.getObject("ZZZ").getArray("has") != null ? obj.getObject("ZZZ").getArray("has").getObject(0).getString("hasValue") : "");
Comment
N'écrivez pas ce code. Si votre objet XML ne peut pas tolérer les valeurs NULL, ne les autorisez pas à les ajouter à la collection. XML est une représentation hiérarchique des données, donc la récursivité devrait être votre ami. – duffymo
Copie possible de https://stackoverflow.com/questions/271526/avoiding-null-statements. – VGR