ホームページ >Java >&#&チュートリアル >Javaのequals()使用法エラー分析

Javaのequals()使用法エラー分析

高洛峰
高洛峰オリジナル
2016-12-16 09:54:411575ブラウズ

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 サイトに注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。