社区
Java SE
帖子详情
我曾经面试的一道题
lizhaowei
2008-01-04 11:24:08
if(obj != null)
...
if(null != obj)
...
谁可以帮我解释一下,判断对象是不是null时,关键字 null 写在 != 前面有什么好处?
这是我曾经面试时没有答出来的一道问题,我找了好久也没有找到答案。
...全文
272
14
打赏
收藏
我曾经面试的一道题
if(obj != null) ... if(null != obj) ... 谁可以帮我解释一下,判断对象是不是null时,关键字 null 写在 != 前面有什么好处? 这是我曾经面试时没有答出来的一道问题,我找了好久也没有找到答案。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tangkingthod
2008-01-07
打赏
举报
回复
孙鑫的书上有。
lizhaowei
2008-01-07
打赏
举报
回复
谢谢大家的帮助,我个人同意 liuhua0420 的解释,在java中判断条件 if(obj = null) ... 程序编译不通过,因为表达式 obj = null 的结果不是true或false,所以我同意 liuhua0420 的解释。再次感谢大家的帮助!!!
shijiang
2008-01-06
打赏
举报
回复
学习了~
火龙果被占用了
2008-01-06
打赏
举报
回复
这样跟判断空指针异常好像关系不大吧,就算obj为null也不会抛出异常的。
不是很明白这种反过来写的意义何在?也许就是习惯问题吧。
qiudawei115
2008-01-06
打赏
举报
回复
应该是防止空指针异常吧
sunyujia
2008-01-06
打赏
举报
回复
不小心少写个=就出bug了
java里面只有boolean可能出现这种情况,其他类型编译时会检查
boolean a=false;
if(a=true){
}
xiaolingshi
2008-01-06
打赏
举报
回复
认同三楼的
太空眼睛
2008-01-06
打赏
举报
回复
3楼说的对, 在C中有一个很良好的编程风格, 就是在条件判断语句中, 有经验的程序员都会把常量写在左边, 比如
if(1==a), 因为在很多时候两个等号(==)会写成一个等号(=), 如果是if(a=1),那么这个条件永远都为真, 里面
的语句总会被执行, 当写出来的程序很长时, 当编译运行, 发现结果不对的时候, 回头再来找错误是很难发现这个
隐蔽的错误的, 但如果一开始编程的习惯是把常量写在左边,即if(1=a),即使是粗心少写一个等号, 当调试的时候,编译都不会通过的
qq12411069
2008-01-05
打赏
举报
回复
学习..
f_mei520
2008-01-05
打赏
举报
回复
學習
liuhua0420
2008-01-05
打赏
举报
回复
听说是:前面null 编择时把它当成常量来看。系统处理速度快一点。
dgqbcht
2008-01-04
打赏
举报
回复
这个习惯是这样来的。最早学C编程的时候,像if(a=b)这样的条件是编译通过的,尽管你的意思是if(a==b)。
为了避免出现这种低级错误,写判断的时候习惯把常量写在前边,因为即使出现了if(null=a)这样的错误,也会被编译器提示错误,因为你不能给常量再赋值。
mcluvin
2008-01-04
打赏
举报
回复
只知道equals方法判断的时候把常量放在前面可以防止空指针异常,用"!="真想不出到底有嘛好处。
if("".equals(obj))
YeLang2007
2008-01-04
打赏
举报
回复
我也不清楚,帮你顶一下了...
解析阿里运维P7岗位
面试
的
一道
题
解析阿里运维P7岗位
面试
的
一道
题
今年有幸同事推荐到阿里
面试
,岗位是流量事业部运维开始3面都很顺利评价也很高,到第四面交叉面的时候是一位P9的前辈,技术不用说了,直接是碾压我的那种,
面试
的时候问了一些方法论...
一道
技术美术的
面试
题
一道
技术美术的
面试
题
https://zhuanlan.zhihu.com/p/27344672
一道
技术美术的
面试
题
王滕昊 游戏开发 话
题
的优秀回答者 最近看越来越多的知乎小伙伴关注TA的这个职位,而且多数都是关注图形学,...
❤️仅剩20分钟挑战
一道
Pandas
面试
题
⚠️生死竞速⚠️简直刺激⚡
15分钟之内解决
一道
外企的Pandas
面试
题
~
最新 2022沃尔玛AI
面试
真
题
题
库
最后
一道
是考察岗位的理解,这类
题
也是必须要准备的哦! 沃尔玛2022AI
面试
真
题
面试
形式:中文
面试
面试
题
量:5道中文
面试
题
面试
时间:约20分钟 1.请你做一个自我介绍,时间为三分钟。 2.请问团队...
《Wireshark网络分析就这么简单》—从
一道
面试
题
开始说起
从
一道
面试
题
开始说起Wireshark网络分析就这么简单从
一道
面试
题
开始说起我每次当
面试
官,都要伪装成无所不知的大牛。 这当然是无奈的选择——现在每封简历都那么耀眼,不装一下简直镇不住场面。比如尚未毕...
Java SE
62,634
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章