object.equals(null)和object==null有什么区别

object==null判断object是不是被分配了内存空间;假如object没有被分配内存空间,
即object==null,object.equals(null)将会抛出NullPointerException,
没有被分配内存空间的对象是不能调用任何方法的。


equals方法需要避免空指针异常,要把常量放在前面:

public static void main(String[] args) {

 String a=null;
if("aa".equals(a))//这种情形,不出现空指针异常 //if(a.equals("aa"))//出现空指针异常 { System.out.println(true); } else { System.out.println(false); } }

原因:null无法调用equals方法,null.equals(Object)是错误的

 

你可能感兴趣的:(object.equals(null)和object==null有什么区别)