String graphNameUsed = graphName.getName();
if (graphType.equals("All") || graphType.equals("ALL"))
graphNameUsed += "_ALL";
如果我的String为null,那么当我检查它是否等于时,它会抛出NullPointerException
。为了避免这种异常,我应该如何检查?
答案 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")))