将变量与null进行比较或将null与变量进行比较有什么区别吗?
例如,(a != null)和(null != a)哪个比较好?我在某处读到第二个更快,但没有找到原因。
发布于 2011-12-21 17:44:35
不,没有比这更快的。那是个明显的谎言。使用第二个版本没有任何优势。只会让可读性变得更差。
这一切都来自C,你可能会在C中错误地写出
if(x = 3) 而不是
if( x == 3)有些人认为最好先写常量,在这种情况下,如果你写的是=而不是==,你会得到一个编译器错误。所以一些资源建议写成
if(3 == x)有些人不知道为什么这是必要的,并继续将这个想法推广到完全没有意义的构造和语言中。我想它在最初的C上下文中也没有多大意义,但这是个人喜好的问题。
发布于 2011-12-21 17:44:39
即使在速度上存在差异,我预计99.99%的应用程序的速度也是微不足道的。因为它是,我不期望有任何速度差异。就我个人而言,我发现if (a != null)更具可读性-而且在大多数情况下,可读性比性能更重要。
发布于 2011-12-21 17:48:11
在对字符串执行操作时,您可能只想在变量之前使用文字。
if("abcd".equals(name))不会像if(name.equals("abcd"))那样抛出NPE,如果name是null的话就会抛出。
https://stackoverflow.com/questions/8587770
复制相似问题