La réponse de @ jjnguy est correcte dans la plupart des cas. Vous ne verrez jamais une null
chaîne dans le tableau d'arguments (ou un null
tableau) si elle main
est appelée en exécutant l'application est exécutée à partir de la ligne de commande de la manière normale.
Cependant, si une autre partie de l'application appelle une main
méthode, il est concevable qu'elle puisse passer un null
argument ou un null
tableau d'arguments.
Cependant (2), c'est clairement un cas d'utilisation très inhabituel, et c'est une violation flagrante du contrat implicite pour une main
méthode de point d'entrée. Par conséquent, je ne pense pas que vous devriez vous soucier de vérifier les null
valeurs des arguments dans main
. Dans le cas peu probable où ils se produiraient, il est acceptable que le code appelant obtienne un NullPointerException
. Après tout, c'est un bogue dans l'appelant de violer le contrat.
null
vérification n'est pas nécessaire, mais vous avez raison de dire que lalength
vérification est nécessaire,Si vous ne passez aucun argument, même dans ce cas, args est initialisé mais sans aucun élément / élément. Essayez le suivant, vous obtiendrez le même effet :
la source
main
méthode sera appelée avec unargs
tableau dont la longueur est égale à zéro.dummy[0]
jette un index de tableau hors limites !! Idem si vous changez le programme (retour) en testargs[0]
et l'exécutez sans argument.