2013-08-19 150 views
2
  FedespatchVO fedespatch = new FedespatchVO(); 
      List<FedespatchVO> listFedespatch = null; 

      while (rs.next()) { 
       System.out.println("I have something in me"); 
       fedespatch.setSerialNumber(rs.getString(1)); 
       fedespatch.setMachine(rs.getString(2)); 
       fedespatch.setHours(rs.getString(3)); 
       fedespatch.setTrigger(rs.getString(4)); 
       fedespatch.setNoticeTime(rs.getString(5)); 
       listFedespatch.add(fedespatch); 
      } 

listFedespatch.add(fedespatch);空指针异常

正在引发空指针异常。我需要返回FedespatchVO类的列表,这是什么,但getter setter属性如serialNumber,Machine,NoticeTime等

我的方法是否错误?请帮助

回答

2

因为你忘了实例化List

​​

listFedespatchnull参考,因此listFedespatch.add()将抛出NullPointerException

尝试实例吧:

List<FedespatchVO> listFedespatch = new ArrayList<FedespatchVO>(); 

我在这里使用了ArrayList,您可以使用List任何其他实现。

+0

谢谢..我是一个白痴..这样一个愚蠢的错误... – user2572739

4

抛出空指针异常

嗯,是的,它会。看看你是如何对其进行初始化:

​​

你永远将其设置为一个非空引用,所以当你调用它的add,你会肯定得到一个异常。

你可能想:

List<FedespatchVO> listFedespatch = new ArrayList<FedespatchVO>(); 

(您只有使用的是Java 6或更早版本需要在右侧的FedespatchVO位;与Java 7或更高版本,你可以只是有new ArrayList<>();和类型将推断)

+0

傻我!!!谢谢乔恩 – user2572739

1

在低于行

​​

listFedespatch参考包含null
和你想接取它是在这种情况下,空引用setter方法,它给空指针异常

解决方案是

List<FedespatchVO> listFedespatch = new ArrayList<FedespatchVO>();