栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

哪个更有效:if(null ==变量)或if(variable == null)?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

哪个更有效:if(null ==变量)或if(variable == null)?

(类似于此问题:null == object和object==null之间的区别)

我要说的是,这两个表达式在性能上绝对没有区别。

然而,有趣的是,两种情况下的编译字节码(由OpenJDK的javac发出)看起来有些不同。

对于

boolean b = variable == null

 3: aload_1    // load variable 4: ifnonnull 11          // check if it's null 7: iconst_1   // push 1 8: goto 1211: iconst_0   // push 012: istore_2   // store

对于

boolean b = null == variable

 3: aconst_null// push null 4: aload_1    // load variable 5: if_acmpne 12          // check if equal 8: iconst_1   // push 1 9: goto 1312: iconst_0   // push 013: istore_2   // store

正如@Bozho所说,

variable == null
是最常见,默认和首选的样式。

但是,在某些情况下,我倾向于放在

null
前面。例如在以下情况下:

String line;while (null != (line = reader.readLine()))    process(line);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/418543.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号