java 大家来讨论讨论

yulu0214 2008-11-28 10:49:14
为什么高手都是这么写的
if(null==str||("").equals(str)){
}
我一般都这么写的
if(str==null||str.equals("")){
}
到底会出现什么差别,我记得以前有看到国,无奈大脑空间有限,没记下。
大家指点下
...全文
100 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiancuiwusky 2008-11-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 pgty123 的回复:]
如果str为空,请问调用equals方法不是会抛异常么
前一种写法不会出错
[/Quote]

这个回答有价值~~
yulu0214 2008-11-28
  • 打赏
  • 举报
回复
我觉得编码规范是一种原因,另外可以就是7楼说的万一不小心写成=
str=null//编译通过
null=str//编译不通过
有没其他原因了?
allenblade 2008-11-28
  • 打赏
  • 举报
回复
null写前面编译通不过,直接就可以看出来了啊~可以避免出错
kbyst 2008-11-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 yulu0214 的帖子:]
为什么高手都是这么写的
if(null==str||("").equals(str)){
}
我一般都这么写的
if(str==null||str.equals("")){
}
到底会出现什么差别,我记得以前有看到国,无奈大脑空间有限,没记下。
大家指点下
[/Quote]
在条件语句中 可能性高的放在前面 常量和变量比较 常量放在前面
编程好习惯
libing821126 2008-11-28
  • 打赏
  • 举报
回复
对,前面写Null,不会报错
pgty123 2008-11-28
  • 打赏
  • 举报
回复
如果str为空,请问调用equals方法不是会抛异常么
前一种写法不会出错
renmms 2008-11-28
  • 打赏
  • 举报
回复
null == str 这种写法的来源的初衷应该是避免developer误写成str = null,

这在有些语言环境下是可以作为if条件通过编译的, 所以之后形成的一些习惯。
zxl359592450 2008-11-28
  • 打赏
  • 举报
回复
等待详解
tiancuiwusky 2008-11-28
  • 打赏
  • 举报
回复
关注。。。
imasmallbird 2008-11-28
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 myjava_024 的回复:]
楼主看看这个您就明白了
http://blog.csdn.net/myjava_024/archive/2008/11/26/3376555.aspx
楼主加油
[/Quote]

没看出来那个有什么~~

http://blog.csdn.net/java2000_net/archive/2008/11/18/3326918.aspx
老竹子写的,你看一下

其实就是习惯问题

飞过~~
myjava_024 2008-11-28
  • 打赏
  • 举报
回复
楼主看看这个您就明白了
http://blog.csdn.net/myjava_024/archive/2008/11/26/3376555.aspx
楼主加油
ZiSheng 2008-11-28
  • 打赏
  • 举报
回复
第一个是防止==写成=
第二个是防止str为空,抛出NullPointException
shuaiAWP 2008-11-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 renmms 的回复:]
null == str 这种写法的来源的初衷应该是避免developer误写成str = null,

这在有些语言环境下是可以作为if条件通过编译的, 所以之后形成的一些习惯。
[/Quote]

对啊
xinxian13 2008-11-28
  • 打赏
  • 举报
回复
有待研究
jjy1983 2008-11-28
  • 打赏
  • 举报
回复
哦?学习了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧