新手Java程序猿,怎样在代码中避免空指针异常

那么,问题来了,咱们这样的新手java,怎么在工做和代码中避免出现此类状况呢?html

1) 从已知的String对象中调用equals()和equalsIgnoreCase()方法,而非未知对象。java

老是从已知的非空String对象中调用equals()方法。由于equals()方法是对称的,调用a.equals(b)和调用b.equals(a)是彻底相同的,这也是为何程序员对于对象a和b这么不上心。若是调用者是空指针,这种调用可能致使一个空指针异常;以下:程序员

示例1:
Object unknownObject = null;  
  
//错误方式 – 可能致使 NullPointerException  
if(unknownObject.equals("knownObject")){  
   System.err.println("This may result in NullPointerException if unknownObject is null");  
}  
  
//正确方式 - 即使 unknownObject是null也能避免NullPointerException  
if("knownObject".equals(unknownObject)){  
    System.err.println("better coding avoided NullPointerException");  
}

示例2:
String unknownStr = null;

//错误方式 – 可能致使 NullPointerException  
if(unknownStr .equals("knownObject")){  
   System.err.println("This may result in NullPointerException if unknownObject is null");  
}  
  
//正确方式 - 即使 unknownObject是null也能避免NullPointerException  
if("knownStr".equals(unknownStr)){  
    System.err.println("better coding avoided NullPointerException");  
}
相关文章
相关标签/搜索