见老程序员写if判断字符串比较的时候喜欢null.equals(str变量) 或者是 "某具体字符串".equals(str变量)。请问这样写跟 str变量.equals("某具体字符串")相比有什么好处吗 ?
------解决方案--------------------
null.equals(str变量)
没有这种写法,编译都不过的.
"某具体字符串".equals(str变量)这种写法是保证了当str变量为null的时候,程序不会抛出空指针异常
str变量.equals("某具体字符串")这种写法当str变量为null时,程序就会抛出空指针异常而终止运行
------解决方案--------------------
//这样子写吧 ,不为空 ,同时不为空串
if (null != str && !"".equals(str)){
}
null怎么可能调用equals方法 ?