Vérifier les chaînes de “sortir” des appels pour les nuls

Disons que j'aimerais effectuer la commande suivante:

house.getFloor(0).getWall(WEST).getDoor().getDoorknob();

Pour éviter une NullPointerException, je dois faire ce qui suit si:

if (house != null && house.getFloor(0) && house.getFloor(0).getWall(WEST) != null
  && house.getFloor(0).getWall(WEST).getDoor() != null) ...

Est-il un moyen ou un autre déjà existant Utils classe qui ne présente plus élégamment, disons que quelque chose de ce genre?

checkForNull(house.getFloor(0).getWall(WEST).getDoor().getDoorknob());
  • Si seulement vous avez suivi la loi de Déméter.
  • Juste parce que j'ai commencé à travailler sur un projet existant, je ne peux pas l'adapter en fonction de mes ou de toute divinité grecque de la loi.
  • Nous pouvons utiliser Java8 Fonctionnelle approche de l'Interface. Cochez cette réponse: stackoverflow.com/a/45319845/822314
InformationsquelleAutor | 2010-08-11