我习惯把常量写在左边。比如"coshaho".equals(name)如果写为name.equals("coshaho"),当name为null时会报错,即使业务上是正确的,此时代码需要写为 name != null && name.equals("coshaho")比如null == name如果把变量写在左边,不小心写成了name = null,编译运行也不会报错,但是逻辑错误了。而null = name在编译时即报错,常量写左边强制要求你不能把逻辑比较写为赋值。