首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(a != null)或(null != a)

(a != null)或(null != a)
EN

Stack Overflow用户
提问于 2011-12-21 17:43:25
回答 6查看 522关注 0票数 5

将变量与null进行比较或将null与变量进行比较有什么区别吗?

例如,(a != null)(null != a)哪个比较好?我在某处读到第二个更快,但没有找到原因。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-12-21 17:44:35

不,没有比这更快的。那是个明显的谎言。使用第二个版本没有任何优势。只会让可读性变得更差。

这一切都来自C,你可能会在C中错误地写出

代码语言:javascript
复制
if(x = 3) 

而不是

代码语言:javascript
复制
if( x == 3)

有些人认为最好先写常量,在这种情况下,如果你写的是=而不是==,你会得到一个编译器错误。所以一些资源建议写成

代码语言:javascript
复制
if(3 == x)

有些人不知道为什么这是必要的,并继续将这个想法推广到完全没有意义的构造和语言中。我想它在最初的C上下文中也没有多大意义,但这是个人喜好的问题。

票数 25
EN

Stack Overflow用户

发布于 2011-12-21 17:44:39

即使在速度上存在差异,我预计99.99%的应用程序的速度也是微不足道的。因为它是,我不期望有任何速度差异。就我个人而言,我发现if (a != null)更具可读性-而且在大多数情况下,可读性比性能更重要。

票数 9
EN

Stack Overflow用户

发布于 2011-12-21 17:48:11

在对字符串执行操作时,您可能只想在变量之前使用文字。

if("abcd".equals(name))不会像if(name.equals("abcd"))那样抛出NPE,如果namenull的话就会抛出。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8587770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档