为什么比较时有人推荐 0==len ,要把常量放在前面,作为第一操作数?
① 因为在c语言中 if(len=0){}和if(len==0){}语法上都正确,
为了减少这种错误,使用if(0==len){}
如果你写成if(0=len){}是没有办法编译的。
② 我只在比较字符串时这样写 "string".equals(myValue) 避免myValue为null
③ NullPointerException继承RuntimeException,而编译器不会针对RuntimeException提示进行异常处理。因此,我们看上去完美的应用程序,最后的下场可能是显示一个NullPointerException以及代码的呼叫栈,然后异常中止。
④ 何一个针对空值的 “.” 引用都会抛出NullPointerException
⑤ 根据aString.equals( bString ) 当bString==null的时候,返回false这个事实,我们可以得到比较一个变量于一个字符串常量的简洁写法:
if ( “AConstantString”.equals(s) )
否则我们要写
if(s != null && s.equals(“AConstantString”)) {
……//一个正确,稍微快一点点,但是不那么简洁的写法,
}
"string".equals(myValue)
最新推荐文章于 2023-11-14 00:33:58 发布