考虑下面两个函数:
?
public boolean isA(String a){
if(a.equalsIgnoreCase("a"))
return true;
else
return false;
}
?public boolean isA(String a){
if("a".equalsIgnoreCase(a))
return true;
else
return false;
}
这两个函数有什么区别呢?(虽然第二个函数猛一看好像是错的)
区别在于第一个函数有可能报出NullPointerException,而第二个函数不会。至于为什么,大家都知道。
此外,apache commons StringUtils同样提供了一个类似第二个函数的空指针安全比较方法equals,具体的介绍参见博文StringUitls介绍
?
?
?