java - 获取 java.lang.ClassCastException:java.lang.Integer 无法转换为 [Ljava.lang.Object 错误
问题描述
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);
}
当结果列表中的 Object 数组的长度为 1 时,此result.get(i).length会生成此错误java.lang.ClassCastException: java.lang.Integer cannot be cast to [Ljava.lang.Object
选定的列列表包含我需要选择的列名。谁能帮我这个?提前致谢。
解决方案
当您选择一个项目时,您只会得到该项目。它没有嵌入到大小为 1 的数组中。
推荐阅读
- javascript - 缩放后居中画布上下文
- python - 针对日期时间的错误栏图失败
- c# - linq 分组结果需要很长时间
- ios - Xcode 错误:“无法保存 .xcodeproj”
- java - org.apache.jmeter.util.HostNameSetter 抛出的 JMeter 异常
- amazon-web-services - Amazon EMR S3A 支持
- laravel - Laravel HasMany 反向关系问题
- oracle - 如何使用 MyBatis 将 Oracle 过程设置为 Dto
- r - R中一系列日期中最后一次观察月份的序列
- java - 包 org.hamcrest 不存在