我有一个POJO的ArrayList,我从JDBC检索的结果集中填充,当在while循环的第一个System.out.print
语句中时,使用getStatus方法完美地检索数据,但是,在检入时在该循环之后的循环中,getStatus的返回值为null。
P.S。 status字段是一个String对象,带有普通的getter和setter,没什么特别的。
while (result.next()) {
POJO recordPojo = new POJO();
recordPojo.setRefNo(result.getString(3));
recordPojo.setSubmittedBy(result.getString(1));
recordPojo.setCreatedDate(result.getDate(2).toString());
recordPojo.setGuid(result.getString(4));
recordPojo.setStatus(result.getString(5));
System.out.println(" DBOPERATIONS RESULT Ref No ----" + result.getString(3) + " ===== " + result.getString(5) + " ====== " + recordPojo.getStatus());
arryObj.add(recordPojo);
}
POJO x;
for (int k = 0; k < arryObj.size(); k++) {
x = (POJO) arryObj.get(k);
System.out.println(" DBOPERATIONS Ref No ----" + x.getRefNo() + " ===== " + x.getSubject());
}
答案 0 :(得分:3)
我认为这就像一个拼写错误(主题不是状态),但我会给你一个简短的解释:我认为你的第二个System.out.println()
循环错误{{} 1}},你不能在结果之前填写这个字段,所以很清楚它是x.getSubject()
。
所以你有两个选择:
null
,您应该打印x.getSubject()
(它们不一样)