If (!password2.equals(password1)|| "".equals(password1) || password1.equals(null)) 文のエラー分析:
まず、正しい書き方は if (null.equals (パスワード 1) |".equals(パスワード 1) || !パスワード 1.equals(パスワード 2))
次に、間違った書き方を分析してみましょう:
主なエラーは、password1.equals (null) という文にあります。この文が間違っている理由は、password1 が null の場合、null ポインタ例外になります。報告されます。そして、password1 が null の場合、残りをチェックする必要がないため、最初にチェックする必要があります。
! password2.equals(password1) 上記と同様に、password2 にも null ポインタの問題がある可能性があります。そのため、password1 は以前に検出されているため、外側に置く必要があります。したがって、この文が実行されると、password1 は絶対に null になりません。
さらに、次の形式で記述することもできます: if (StringUtils.isEmpty(password1) || !password1.equals(password2)), StringUtils.isEmpty(password1) は null.equals(password1) | と同等です。 | "".equals (password1) は単にカプセル化されています。
StringUtilsについて他の方の説明を添付します: (転記) StringUtilsメソッドの操作オブジェクトは、JDKが提供するString型操作メソッドの補足であるjava.lang.String型のオブジェクトであり、nullです。安全 (つまり、入力パラメータ String が null の場合、NullPointerException はスローされませんが、対応する処理が行われます。たとえば、入力が null の場合、戻り値も null になるなど)。詳細についてはソース コードを参照してください)。
Javaquals() の使用エラー分析に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。