Java 将对象添加到列表会覆盖某些结果
我将对象添加到列表中,但存在覆盖问题。如何解决此问题?我在主方法的transactionIdList中发送了3个值。 这三个值发送到下面的方法,我想添加所有结果返回。但是,只有两个结果返回bsList,它们处于Java 将对象添加到列表会覆盖某些结果,java,list,overwrite,Java,List,Overwrite,我将对象添加到列表中,但存在覆盖问题。如何解决此问题?我在主方法的transactionIdList中发送了3个值。 这三个值发送到下面的方法,我想添加所有结果返回。但是,只有两个结果返回bsList,它们处于(basvuru!=null&&!basvuru.isEmpty())状态 List<ApplicationResult> bsList = new ArrayList(); Application bsDB = new Application();
(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);
}
}
List bsList=new ArrayList();
应用程序bsDB=新应用程序();
对于(int i=0;i
唯一的解释是session.createQuery()
返回一个List
不是null,而是空的。唯一的解释是session.createQuery()
返回一个List
不是null的,但是是空的。唯一的解释是session.createQuery()
返回一个List
不是null,而是空的。唯一的解释是session.createQuery()
返回一个List
不是null
,但是是空的。很可能basvruru在某个时候不是空的,而是一个空列表。在这种情况下,不会向bsList添加任何内容
您可能希望将if子句更新为basvuru==null | | basvuru.isEmpty()
,然后使用and else。很可能basvruru在某个时候不是null而是一个空列表。在这种情况下,不会向bsList添加任何内容
您可能希望将if子句更新为basvuru==null | | basvuru.isEmpty()
,然后使用and else。很可能basvruru在某个时候不是null而是一个空列表。在这种情况下,不会向bsList添加任何内容
您可能希望将if子句更新为basvuru==null | | basvuru.isEmpty()
,然后使用and else。很可能basvruru在某个时候不是null而是一个空列表。在这种情况下,不会向bsList添加任何内容
您可能想将if子句更新为basvuru==null | | basvuru.isEmpty()
,只需使用and else。在列表中
实现值永远不会被覆盖。你一定还有别的问题。可能是basvuru
在List
中不是null,实现值永远不会被覆盖。你一定还有别的问题。可能是basvuru
在List
中不是null,实现值永远不会被覆盖。你一定还有别的问题。可能是basvuru
在List
中不是null,实现值永远不会被覆盖。你一定还有别的问题。可能是basvuru
不是null
,这意味着数据库中可能没有数据。你查过了吗?添加到列表中的对象永远不会被覆盖(除非您使用api而不是say add)。您在问题中的陈述没有意义。什么是压倒一切的问题?此外,您正在基于两种流动条件(如果和如果)将bs
添加到bsList
——如果您的bs
值不满足这两种流动条件怎么办?您似乎并没有在这之后添加“bs”值—这不是在bsList
中得到两个结果的原因吗?这意味着您可能在数据库中并没有数据。你查过了吗?添加到列表中的对象永远不会被覆盖(除非您使用api而不是say add)。您在问题中的陈述没有意义。什么是压倒一切的问题?此外,您正在基于两种流动条件(如果和如果)将bs
添加到bsList
——如果您的bs
值不满足这两种流动条件怎么办?您似乎并没有在这之后添加“bs”值—这不是在bsList
中得到两个结果的原因吗?这意味着您可能在数据库中并没有数据。你查过了吗?添加到列表中的对象永远不会被覆盖(除非您使用api而不是say add)。您在问题中的陈述没有意义。什么是压倒一切的问题?此外,您正在基于两种流动条件(如果和如果)将bs
添加到bsList
——如果您的bs
值不满足这两种流动条件怎么办?您似乎并没有在这之后添加“bs”值—这不是在bsList
中得到两个结果的原因吗?这意味着您可能在数据库中并没有数据。你查过了吗?添加到列表中的对象永远不会被覆盖(除非您使用api而不是say add)。您在问题中的陈述没有意义。什么是压倒一切的问题?此外,您正在基于两种流动条件(如果和如果)将bs
添加到bsList
——如果您的bs
值不满足这两种流动条件怎么办?您似乎没有在之后添加“bs”值-这不是在bsList
中得到两个结果的原因吗?我使用了else,但是它在bsDB=(应用程序)basvuru.get(0)中给出了rangeCheck数组或类似的异常;在空列表上调用get(int)将始终引发ArrayIndexOutOfBounds异常。您的第二个代码块应该仅在列表不为null且也不为空的情况下运行