大多数开发人员都习惯在左侧编写带null的null检查。比如,
if(null == someVariable)
这有帮助吗?据我说,这影响了代码的可读性。
答案 0 :(得分:15)
不,它在Java中没有任何意义。
在C和它的一些相关语言中,它有时被用来避免犯这个错误:
if (someVariable = null)
注意=
而不是==
,作者无意中将null
分配给someVariable
而不是检查null
。但这会导致Java中的编译器错误。
即使在C语言中,任何现代编译器都可以选择将if (someVariable = null)
视为警告(甚至是错误)。
在风格上,我同意你的看法 - 我不会说“如果你是21,我会为你喝一杯”(除非我已经有几个几个并且正在做我的尤达假冒)。请注意,那是英语;就我所知,在其他语言中它会非常有意义,在这种情况下,对于这些语言的发言者来说,这将是完全合理的风格。
答案 1 :(得分:5)
当C编译器想要=
时,C编译器不会抱怨错过==
时,过去常常会帮助他们:
// OOps forgot an equals, and got assignment
if (someVariable = null)
{
}
任何现代的C#/ Java / C ++ / C编译器都应该发出警告(希望是错误)。
就个人而言,我找到了
if (someVariable == null)
{
}
比从null
开始更具可读性。
答案 2 :(得分:0)
在你的情况下,我没有看到这样做的任何优点。但我更喜欢以下......
if("a string".equals(strVariable))
{
}
over this ..
if(strVariable != null && strVariable.equals("a string"))
{
}