考虑下面两个函数:
?
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介绍
?
?
?