Ram*_*ona 5 java variables null
将变量与变量进行null比较或null与变量进行比较是否有任何区别?
例如,哪个比较更好(a != null)或(null != a)?我在某处读到第二个更快但没有找到原因.
Arm*_*yan 25
不,没有比这更快.这是一个简单的谎言.使用第二个版本没有任何优势.只会让可读性变差.
这一切都来自C,你可能会错误地写
if(x = 3)
Run Code Online (Sandbox Code Playgroud)
代替
if( x == 3)
Run Code Online (Sandbox Code Playgroud)
有些人认为最好首先编写常量,在这种情况下,如果你编写=而不是==,那么你会得到一个编译器错误.有些消息来源建议写作
if(3 == x)
Run Code Online (Sandbox Code Playgroud)
有些人不知道为什么这是必要的,并且继续将这个想法推广到构造和语言,在那里它完全没有意义.IMO在原始的C语境中也没有多大意义,但这是个人品味的问题.
即使是在速度上的差异,我希望它是完全微不足道的应用程序的99.99%.事实上,我不希望有任何速度差异.我个人觉得if (a != null)更易读-和可读性是很多比在大多数情况下表现更为重要.