寫Java程序,NullPointerExceptions會經常陪伴著你
因為Java中到處都是對象,而每一個對象都可能為Null
怎樣能減少這種錯誤呢?
我覺得應該盡量調用那些已經確定被實例話的對象的方法
比如
private String name = ""; // 給它初始化一個值不讓它為null
public boolean isNameEqual(String paraName) {
return name.equals(paraName);
}
就比下面這種要好
public boolean isNameEqual(String paraName) {
return newName.equals(name); // 這樣如果paraName為空的話就會拋出一個 NullPointerException }
當然,如果在程序中name可能被賦值為null的話
那就要這樣寫了
public boolean isNameEqual(String paraName) {
if (name != null) {
return name.equals(paraName);
}
else if (paraName != null) { // name 為 null 而paraName 不是
return false;
}
else { // 都為空
return true; // 根據你的需要,返回false也行
}
}
至於
public class Animator extends Java.applet.Applet implements Runnable{
Vector images;
int imgNumber;
int currentImage=1;
Thread thisThread;
public void init(){
imgNumber=new Integer(getParameter("imgNumber")).intValue();
for (int x=0;x
{Image img=getImage(getDocumentBase(),"img"+(x+1)+".jpg");
images.addElement(img);
}
}
我覺得可以先給imgNumber=0;
然後還要判斷
getParameter("imgNumber")是否為null
這樣更好些