黑马程序员技术交流社区
标题:
null==str 和str==null区别
[打印本页]
作者:
肖发腾
时间:
2012-3-29 21:07
标题:
null==str 和str==null区别
经常见到这样的写法,null==str ,那么它和str==null区别是什么呢?
作者:
newlaw2013
时间:
2012-3-29 21:32
其实并没有什么区别,只是一种写法而已,实际的编程中只是使用对象的引用equals()方法进行比较的时候有区别,例如:
String str = null;
if(str.equals("abc")){...}//写法1
if("abc".equals(str)){...}//写法2
以上写法1当str为null的时候会报系统异常NullPointerException,而写法2则可以避免此异常的发生,是一个较好的书写形式。
作者:
李节起
时间:
2012-3-29 21:51
str==null,null==str性能差不多,几乎相等;str!=null,null!=str性能差距有些大,str!=null有优于null!=str。 即使把上面str换成一个非null字符串结果也很相似,与str为null时各项对比不超过5ms/10ms.
所以个人建议不管从程序可读性还是性能上来说,推荐使用str!=null,str==null这种形式。
[url]链接
[/url]
作者:
姚伟涛
时间:
2012-3-29 22:10
package cn.text;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
String str = null;
System.out.println(null==str);
System.out.println(str==null);
}
}
结果
true
true
程序规范书写因该是str==null
作者:
肖发腾
时间:
2012-3-30 08:14
哦,明白了,谢谢{:soso_e100:}
作者:
强文何
时间:
2012-3-30 22:03
怎么判断性能的啊 我想了解原理
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2