怎样给list里的对象的某个字段赋值

时间:2022-05-26 15:01:03
假设有实体类A、B.
通过A中的一个字段code去查数据放到了List(B)
 List<B> listB= new ArrayList<ClinicDrugDirMaint>();
        for(A a:ListA){
           ListB=Dao.findList(a.getCode());
        }
现在listA中的name的值需要赋给ListB中的name。
怎么实现?
listA中有很多组数据。

5 个解决方案

#1


怎样给list里的对象的某个字段赋值

#2


实体里的一般叫属性,你这是要从list里面获取每一个code然后取查数据库还是怎么样?你这问题描述的一点都不清晰
如果是查数据库的话,可以使用in操作查询出数据然后放到listb中;如果不是,通过循环即可做到

#3


这样?

b.setName(a.getName());

还是说需要反射来获取A实体类的属性值

#4


 List<B> listB= new ArrayList<ClinicDrugDirMaint>();
        for(A a:ListA){
           ListB=Dao.findList(a.getCode());
        }
写成:
 List<B> listB= new ArrayList<ClinicDrugDirMaint>();
        for(A a:ListA){
           ListB=Dao.findList(a.getCode());
if(ListB.size()>0){
for(B entity : ListB){
entity.setName(a.getName);
}
}
        }
这可能是你想要的。但是效率差。
我建议你的Dao.findList(a.getCode());  不要在循环里写。多次访问数据库。
可以把code 变成codes 返回结果为一个Map<String,List<B>> key 都是你的code 一次访问数据库。
然后在遍历map 

#5


同意4楼的方法,在循环里面查询数据库会被项目经理骂的。

#1


怎样给list里的对象的某个字段赋值

#2


实体里的一般叫属性,你这是要从list里面获取每一个code然后取查数据库还是怎么样?你这问题描述的一点都不清晰
如果是查数据库的话,可以使用in操作查询出数据然后放到listb中;如果不是,通过循环即可做到

#3


这样?

b.setName(a.getName());

还是说需要反射来获取A实体类的属性值

#4


 List<B> listB= new ArrayList<ClinicDrugDirMaint>();
        for(A a:ListA){
           ListB=Dao.findList(a.getCode());
        }
写成:
 List<B> listB= new ArrayList<ClinicDrugDirMaint>();
        for(A a:ListA){
           ListB=Dao.findList(a.getCode());
if(ListB.size()>0){
for(B entity : ListB){
entity.setName(a.getName);
}
}
        }
这可能是你想要的。但是效率差。
我建议你的Dao.findList(a.getCode());  不要在循环里写。多次访问数据库。
可以把code 变成codes 返回结果为一个Map<String,List<B>> key 都是你的code 一次访问数据库。
然后在遍历map 

#5


同意4楼的方法,在循环里面查询数据库会被项目经理骂的。