避免NullPointerException

时间:2010-10-16 19:45:22

标签: java

String graphNameUsed = graphName.getName();
        if (graphType.equals("All") || graphType.equals("ALL"))
            graphNameUsed += "_ALL";

如果我的String为null,那么当我检查它是否等于时,它会抛出NullPointerException。为了避免这种异常,我应该如何检查?

2 个答案:

答案 0 :(得分:4)

以相反方式翻转比较,因此您在字符串文字上调用equals(),这些字符串文字不为空,因此不会导致异常。

当null传递给equals()方法时,它会立即返回false。但是,如果您尝试在一个null的变量上调用它,那么该对象就不能用于调用该方法,这就是您获得异常的原因。

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

如果您只想进行不区分大小写的匹配,请改用equalsIgnoreCase()方法,以便执行一次检查:

if ("All".equalsIgnoreCase(graphType))

答案 1 :(得分:3)

怎么样:

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

你可以利用以下方面的短路:

if(graphType != null && (graphType.equals("All") || graphType.equals("ALL")))
相关问题