获取 java.lang.ClassCastException:java.lang.Integer 无法转换为 [Ljava.lang.Object 错误

Getting java.lang.ClassCastException: java.lang.Integer cannot be cast to [Ljava.lang.Object Error

    cq.multiselect(selected_columns);
    cq.where(final_selection);

    List<Object[]> result = em.createQuery(cq).getResultList();

    List<Map<String,Object>> final_result = new ArrayList<>();

    for(int i = 0 ; i < result.size() ; i++)
    {
        Map<String,Object> temp = new HashMap<>();

        for(int j = 0 ; j < result.get(i).length ; j++)
            temp.put("student_"+selected.get(j), result.get(i)[j]);

        final_result.add(temp);
    }

当结果列表中对象数组的长度为 1 时,此 result.get(i).length 会生成此错误 java.lang.ClassCastException: java.lang.Integer 无法转换为 [Ljava.lang.Object

selected 列列表包含我需要 select 的列名。 谁能帮我这个?提前致谢。

当您 select 一件商品时,您只会得到该商品。它没有嵌入大小为 1 的数组中。