Heim >Java >javaLernprogramm >Java equal()-Nutzungsfehleranalyse

Java equal()-Nutzungsfehleranalyse

高洛峰
高洛峰Original
2016-12-16 09:54:411581Durchsuche

Fehleranalyse des Satzes if (!password2.equals(password1)|| "".equals(password1) || passwort1.equals(null)):

Zuerst der richtige Weg schreibe es ist if (null .equals(password1) || "".equals(password1) || !password1.equals(password2)).

Dann analysieren wir die falsche Schreibweise:

Der Hauptfehler liegt im Satz passwort1.equals (null). Der Grund, warum dieser Satz falsch ist, liegt darin, dass er falsch ist null, dann wird eine Nullzeigerausnahme gemeldet. Und es sollte zuerst überprüft werden, denn wenn Passwort1 null ist, besteht keine Notwendigkeit, den Rest zu überprüfen.

! passwort2.equals(password1) Wie oben kann auch passwort2 ein Nullzeigerproblem haben, daher muss passwort1 außerhalb platziert werden, da es zuvor erkannt wurde. Wenn dieser Satz also ausgeführt wird, ist passwort1 definitiv nicht null.

Darüber hinaus kann es auch in der folgenden Form geschrieben werden: if (StringUtils.isEmpty(password1) || !password1.equals(password2)), StringUtils.isEmpty(password1) ist äquivalent zu null.equals (password1) ||. „“.equals(password1) ist nur gekapselt.

Im Anhang finden Sie die Erklärung einer anderen Person zu StringUtils: (Übertragung) Das Operationsobjekt der StringUtils-Methode ist ein Objekt vom Typ java.lang.String, das eine Ergänzung zur vom JDK bereitgestellten Operationsmethode vom Typ String darstellt und ist nullsicher (d. h. wenn der Eingabeparameter String null ist, wird keine NullPointerException ausgelöst, aber die entsprechende Verarbeitung wird durchgeführt. Wenn die Eingabe beispielsweise null ist, ist der Rückgabewert ebenfalls null usw. (Sie können Weitere Informationen finden Sie im Quellcode.



Weitere Artikel zur Analyse von Java-Equals()-Nutzungsfehlern finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn