@ jjnguys Antwort ist in den meisten Fällen richtig. Sie werden niemals einen null
String im Argumentarray (oder einem null
Array) sehen, wenn der main
Aufruf durch Ausführen der Anwendung auf normale Weise über die Befehlszeile ausgeführt wird.
Wenn jedoch ein anderer Teil der Anwendung eine main
Methode aufruft , ist es denkbar, dass sie ein null
Argument oder ein null
Argumentarray übergibt.
(2) Dies ist jedoch eindeutig ein äußerst ungewöhnlicher Anwendungsfall, und es handelt sich um eine ungeheure Verletzung des implizierten Vertrags für eine main
Einstiegspunktmethode. Daher denke ich nicht, dass Sie sich die Mühe machen sollten, nach null
Argumentwerten in zu suchen main
. In dem unwahrscheinlichen Fall, dass sie auftreten, ist es akzeptabel, dass der aufrufende Code a erhält NullPointerException
. Immerhin ist es ein Fehler im Anrufer, den Vertrag zu verletzen.
null
Überprüfung ist nichtlength
erforderlich , aber Sie haben Recht, dass die Überprüfung erforderlich ist,Wenn Sie kein Argument übergeben, wird args auch in diesem Fall initialisiert, jedoch ohne Element / Element. Versuchen Sie Folgendes, Sie erhalten den gleichen Effekt :
quelle
main
Methode mit einemargs
Array aufgerufen, dessen Länge Null ist.dummy[0]
ein Array-Index eine Ausnahme außerhalb der Grenzen auslöst !! Das Gleiche gilt, wenn Sie das Programm (zurück) auf Testen ändernargs[0]
und es ohne Argumente ausführen.