NullPointerExceptionの回避

java
NullPointerExceptionの回避
String graphNameUsed = graphName.getName();
        if (graphType.equals("All") || graphType.equals("ALL"))
            graphNameUsed += "_ALL";

私の文字列がnullの場合、等しいかどうかをチェックしているときに `NullPointerException`をスローします。 この例外を回避するには、どのように確認すればよいですか?

  0  0


ベストアンサー

比較を他の方法で反転させて、文字列リテラルで `equals()`を呼び出します。これはnullではないため、例外は発生しません。

nullが `equals()`メソッドに渡されると、ただちに `false`を返します。 ただし、nullの変数で呼び出そうとすると、そのメソッドを呼び出すためのオブジェクトが存在しないため、例外が発生します。

if ("All".equals(graphType) || "ALL".equals(graphType))

大文字と小文字を区別しない一致を行いたい場合は、代わりに `equalsIgnoreCase()`メソッドを使用して1つのチェックのみを実行します。

if ("All".equalsIgnoreCase(graphType))

4


どうですか?

if("All".equals(graphType) || "ALL".equals(graphType))

そして、あなたは次のようなもので短絡を利用することができます:

if(graphType != null && (graphType.equals("All") || graphType.equals("ALL")))

3


タイトルとURLをコピーしました