两者是一样的,谁先谁后都没关系,有些只是因为习惯问题,比如说从C++转过来的。你看下这段代码:
String a = null;
if (a == null) {
System.out.println("1.a为空");
} else {
System.out.println("1.a不为空");
}
if (null == a) {
System.out.println("2.a为空");
} else {
System.out.println("2.a不为空");
}
运行结果如下:
这就说明两种写法都没错。
假如你少写了个等号,写成a = null是不会报错的,但是null = a,会报错,所以习惯写null == a更好
null==a是指null 的值等于a,a==null是指a的值等于null,具体一点就前者是指null的值是等于a,后者是指a的值是等于空,前者null的值不为空,后者a的值是等于空
没什么区别