Retournez les comparaisons dans l'autre sens si vous appelez equals()
sur la chaîne littéraux, qui ne sont pas nuls et ne provoqueront donc pas l'exception. Lorsque la valeur null est transmise à la méthode equals()
, elle renvoie simplement false
immédiatement. Cependant, si vous essayez de l'appeler sur une variable null, l'objet n'est pas là pour que vous appeliez cette méthode, ce qui explique pourquoi vous obtenez l'exception.
if ("All".equals(graphType) || "ALL".equals(graphType))
Si vous voulez juste faire les matchs insensibles à la casse, utilisez la méthode equalsIgnoreCase()
à la place que vous effectuez simplement une vérification:
if ("All".equalsIgnoreCase(graphType))
Comment dis-tu que mon code peut lancer une attente de pointeur nul et pourquoi ce code que tu as écrit ne jettera pas? – John
y a-t-il une meilleure façon de gérer de telles expections ... je veux dire via la gestion des attentes – John
@John: La solution que nous avons fournie est bien meilleure que de placer un 'catch (NullPointerException e)'. Mieux vaut prévenir que guérir. – BoltClock