写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<imgnumber;x++)
{image img=getimage(getdocumentbase(),"img"+(x+1)+".jpg");
images.addelement(img);
}
}
我觉得可以先给imgnumber=0;
然后还要判断
getparameter("imgnumber")是否为null
这样更好些
