我有一个 POJO 的 ArrayList,它是从 JDBC 检索的结果集填充的,当在 while 循环中的第一个 System.out.print
语句中时,使用 getStatus 完美检索数据方法,但是,当在该方法之后检查循环时,getStatus 的返回值为 null。
附注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());
}
最佳答案
我认为这就像一个拼写错误(主题不是状态),但我会给你一个简短的解释:我认为你在第二个System.out.println()中错了
的循环 x.getSubject()
中,您之前从未使用结果填充此字段,因此很明显它是 null
。
所以你有两个选择:
- 循环结果时填写此字段
- 或者打印正确的字段而不是
x.getSubject()
,您应该打印x.getStatus()
(它们不一样)
关于java - Pojo 值未正确检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43093176/