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 设置器。

我的方法错了吗?请帮忙

4

3 回答 3

4

正在抛出空指针异常

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

List<FedespatchVO> listFedespatch = null;

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

你可能想要:

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

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

于 2013-08-19T09:12:40.663 回答
2

因为您忘记实例化List

List<FedespatchVO> listFedespatch = null;

listFedespatch是一个null参考,因此listFedespatch.add()会抛出一个NullPointerException

尝试实例化它:

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

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

于 2013-08-19T09:13:14.057 回答
1

在下线

List<FedespatchVO> listFedespatch = null;

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

解决方案是

 List<FedespatchVO> listFedespatch = new ArrayList<FedespatchVO>();
于 2013-08-19T09:38:57.473 回答