添加对象列表覆盖一些结果
adding object to list overwrite some results
我在列表中添加了对象,但是有覆盖 problem.How 可以解决这个问题吗?我在 main 方法中在 transactionIdList 中发送了 3 个值。
这三个值发送到下面的方法中,我想添加所有结果 return。但是,bsList 只有两个结果 return 处于 ( basvuru != null && !basvuru.isEmpty()))
状态。
List<ApplicationResult> bsList = new ArrayList();
Application bsDB = new Application();
for (int i = 0; i < transactionIdList.size(); i++) {
List basvuru = session.createQuery("from Application as bsvr where bsvr.transactionId = :var1").setParameter("var1", transactionIdList.get(i)).list();
if (basvuru == null) {
ApplicationResult bss = new ApplicationResult();
bss.setTransactionId(transactionIdList.get(i));
bss.setBasvuruDurum("no value");
bsList.add(bss);
} else if (basvuru != null && !basvuru.isEmpty()){
ApplicationResult bs = new ApplicationResult();
bsDB = (Application) basvuru.get(0);
bs.setTransactionId(bsDB.getTransactionId());
bs.setBasvuruDurum(bsDB.getDurum());
bsList.add(bs);
}
}
唯一的解释是 session.createQuery()
returns 一个 List
不是 null
,而是空的。
很可能basvruru在某个时候不是null而是一个空列表。在这种情况下,没有向 bsList 添加任何内容。
您可能想将 if 子句更新为 basvuru == null || basvuru.isEmpty()
,然后只使用 and else。
在 List
中实现值永远不会被覆盖。你一定有其他问题。可能是 basvuru
不是 null
我在列表中添加了对象,但是有覆盖 problem.How 可以解决这个问题吗?我在 main 方法中在 transactionIdList 中发送了 3 个值。
这三个值发送到下面的方法中,我想添加所有结果 return。但是,bsList 只有两个结果 return 处于 ( basvuru != null && !basvuru.isEmpty()))
状态。
List<ApplicationResult> bsList = new ArrayList();
Application bsDB = new Application();
for (int i = 0; i < transactionIdList.size(); i++) {
List basvuru = session.createQuery("from Application as bsvr where bsvr.transactionId = :var1").setParameter("var1", transactionIdList.get(i)).list();
if (basvuru == null) {
ApplicationResult bss = new ApplicationResult();
bss.setTransactionId(transactionIdList.get(i));
bss.setBasvuruDurum("no value");
bsList.add(bss);
} else if (basvuru != null && !basvuru.isEmpty()){
ApplicationResult bs = new ApplicationResult();
bsDB = (Application) basvuru.get(0);
bs.setTransactionId(bsDB.getTransactionId());
bs.setBasvuruDurum(bsDB.getDurum());
bsList.add(bs);
}
}
唯一的解释是 session.createQuery()
returns 一个 List
不是 null
,而是空的。
很可能basvruru在某个时候不是null而是一个空列表。在这种情况下,没有向 bsList 添加任何内容。
您可能想将 if 子句更新为 basvuru == null || basvuru.isEmpty()
,然后只使用 and else。
在 List
中实现值永远不会被覆盖。你一定有其他问题。可能是 basvuru
不是 null