有什么区别
if(null==object)
和
if(object==null)
请使用上述优点.
如果您不小心键入=
而不是==
:
if (null = object)
- 编译错误
if (object = null)
- 错误!
在过去的好时光,编译器很乐意让你在条件内进行任务,导致无意的错误:
if(a = false) { // I'll never execute } if(b = null) { // I'll never execute } b.Method(); // And now I'm null!
因此,一些聪明的开发人员开始将他们的常量放在他们的条件中:
if(false = a) // OOPS! Compiler error { // .. } if(null = b) // OOPS! Compiler error { // .. }
所以他们训练自己避免了一整类错误.大多数现代编译器将不再让你犯这个错误,但这种做法仍在继续.
始终将常量放在第一位还有另一个好处:
if(myString != null && myString.Equals("OtherString")) { // ... }
can(在.NET,Java和大多数具有基于对象的字符串类型的语言)被简化为:
if("OtherString".Equals(myString)) { // .. }