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。
我的方法有误吗?请帮忙
答案 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;
listFedespatch
是null
引用,因此listFedespatch.add()
将引发NullPointerException。
尝试实例化它:
List<FedespatchVO> listFedespatch = new ArrayList<FedespatchVO>();
答案 2 :(得分:1)
在下面一行
List<FedespatchVO> listFedespatch = null;
listFedespatch引用包含null
并且你试图在这种情况下访问它的null引用的setter方法,它给出Null指针异常
解决方案
List<FedespatchVO> listFedespatch = new ArrayList<FedespatchVO>();