我有一个SerializableEnumeration,我正在尝试将一个向量元素添加到SerializableEnumeration中。 以下是代码。
if(objTempVector !=null)
{
CommonUtils.log("objTempVector:::::::::::::::::::::: objTempVector not null::::");
try{
hlpOrder.mOrderDetail = new SerializableEnumeration(objTempVector);
}
catch(NullPointerException ex)
{
CommonUtils.log("Exception in SerializableEnumeration::::::::::::::::::::::" + ex.toString());
}
}
但即使向量不为null,上面的代码也会生成空指针异常。
错误日志: SerializableEnumeration中的异常::::::::::::::::::::::: java.lang.NullPointerException
这是SerializableEnumeration
的方法public SerializableEnumeration(Vector data) {
if (data == null) {
size = 0;
} else {
this.data = data.toArray();
this.size = data.size();
}
i = 0;
}
请帮我解决问题。
这是SerializableEnumeration的整个类
import java.io.Serializable;
import java.util.Enumeration;
import java.util.NoSuchElementException;
import java.util.Vector;
public class SerializableEnumeration implements Enumeration, Serializable {
private static final long serialVersionUID = 1L;
private Object[] data = null;
private int i;
private int size;
public SerializableEnumeration(Vector data) {
if (data == null) {
size = 0;
} else {
this.data = data.toArray();
this.size = data.size();
}
i = 0;
}
public boolean hasMoreElements() {
return ((size > 0 ) ? true : false);
}
public Object nextElement() throws NoSuchElementException {
try {
Object element = data[i];
++i;
--size;
return element;
} catch (Exception e) {
throw new NoSuchElementException();
}
}
public int getSize() {
return size;
}
public void reset(){
if(data==null){
size=0;
}else{
size=data.length;
i=0;
}
}
}
我在JSP文件中使用该变量,当我尝试使用Enumeration时,我收到以下错误: