java对象判空写法null == obj
java对象判空时需使用null == obj。不能使用obj.equals(null),因为我们判空的前提是对象可能是null,null去调用equals方法显然是会抛出空指针异常。举例如下:
package demo; public class ObjectEqualsDemo { public static void main(String[] args) { Object obj = getObj(0); System.out.println(obj.equals(null)); System.out.println(obj == null); System.out.println(null == obj); } public static Object getObj(int i) { if (i == 0) { return null; } else { return new Object(); } } }
当getObj(0),obj为null时,打印结果如下:
Exception in thread "main" java.lang.NullPointerException
at demo.ObjectEqualsDemo.main(ObjectEqualsDemo.java:7)
当getObj(1),obj不为null时,打印结果如下:
false false false