在列表中添加JavaVO类时出现空指针异常

时间:2013-08-19 09:11:23

标签: java

            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类的列表,这对于serialNumber,Machine,NoticeTime等属性来说只不过是getter setter。

我的方法有误吗?请帮忙

3 个答案:

答案 0 :(得分:4)

  

抛出空指针异常

是的,它会的。看看你是如何初始化的:

List<FedespatchVO> listFedespatch = null;

您永远不会将其设置为非空引用,因此当您在其上调用add时,您肯定会获得例外。

你可能想要:

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

(如果您使用的是Java 6或更早版本,则只需要右侧的FedespatchVO位;使用Java 7或更高版本,您可以只使用new ArrayList<>();,并推断出类型。 )

答案 1 :(得分:2)

因为您忘记实例化List

List<FedespatchVO> listFedespatch = null;

listFedespatchnull引用,因此listFedespatch.add()将引发NullPointerException

尝试实例化它:

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

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

答案 2 :(得分:1)

在下面一行

List<FedespatchVO> listFedespatch = null;

listFedespatch引用包含null
并且你试图在这种情况下访问它的null引用的setter方法,它给出Null指针异常

解决方案

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