将hibernate结果对象添加到数组列表

tvokkenx  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(326)

以下语法是否正确:

List<CEntity> ctxts = new ArrayList<>();
        for (NEntity number : numbers) {
            ctxts.add(contDao.findByNumber("123456"));
        }

    Map<String, List<CEntity>> cotextsMap = new HashMap<>();
        for (CEntity cotxt : ctxts) {
            cotextsMap.get('test').add(cotxt);
        }

我想循环数字列表中的每个数字,并使用 @Query 注解。
更新我在编译中遇到以下错误:

method java.util.List.add(com.data.model.CEntity) is not applicable
        (actual argument java.util.List<com.data.model.CEntity> cannot be converted to com.data.model.CEntity by method invocation conversion)
        [ERROR] method java.util.Collection.add(com.data.model.CEntity) is not applicable
yhqotfr8

yhqotfr81#

第一件事是:
(实际参数java.util.list<com.data.model.centity>无法通过方法调用转换转换为com.data.model.centity)
[错误]方法java.util.collection.add(com.data.model.centity)不适用
此错误意味着您正在尝试向ctxts添加列表。
第一种解决方案如果您确定您的元素只返回一个结果:

// You may do length ckeck or null check before add to prevent runtime error
ctxts.add(contDao.findByNumber("123456").get(0));

或者
如果返回值可能包含多个结果:

// You may do length ckeck or null check before add to prevent runtime error
ctxts.addAll(contDao.findByNumber("123456"));

有关如何使用list和arraylist的更多详细信息,请参阅java.util.list Documentation

相关问题