今天偶然注意到别人的代码中if条件判断中常常 写成
if(null == object){
}
而不是写成
if(object== null){
}
围绕心头好几天,想弄个明白,这是性能问题还是一种习惯?
于是问问了我旁边的师傅,他说是一种习惯,后来我们讨论被经理听到,经理出来解释了下,豁然开朗,特此留记。
不是性能问题,这源于C++的一种避免错误的习惯,因为在C++中 if条件判断中大于0为ture,小于0为false,在进行编码时,如果想表达:
if(a == 2){}
而误写成
if(a = 2){}
C++是检查不出这种错误的,为了避免这种错误就写成
if (2 == a){}
这样,如果少些了一个 等于号写成
if (2 = a){}
就会报错,于是乎形成了这种习惯,后来也就引入到了java中。因为 java中if条件判断只允许是boolean,如果想表达等于而少写了一个等号写成
if(a = 2){}
是会报错的,可以避免C++中检查不出的错误,但是这已经是一种习惯了,即把常亮放在左边。
欢迎大家一起讨论,爱思考,爱生活,一起成长!