我正在尝试从对象列表[]中创建 HashMap ,但我无法这样做。下面是我写的代码:
List<Object[]> adjustments = query.getResultList();
Map<Integer, BigDecimal> dpaMap = adjustments.stream().collect(Collectors.toMap(a -> (Integer)a[0], a -> (BigDecimal)a[1]));
我知道只有两个字段从查询中返回,它们具有与映射中提到的相同类型,但它不起作用。请在这方面指导我。
提前致谢。
最佳答案
看来它工作正常,数据库中的列返回 Float,所以只需将其转换为 BigDecimal
Map<Integer, BigDecimal> dpaMap = adjustments.stream().collect(Collectors.toMap(a -> (Integer)a[0], a -> BigDecimal.valueOf((Float) a[1])));
非常感谢大家的帮助。
关于java - 将 List<Object[]> 数组转换为 Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40280928/