获得类型安全转换

时间:2017-12-11 12:39:12

标签: java

从下面的代码中获取类型安全转换警告。

List<Map<String, Object>> batchValues = new ArrayList<>(entity.size());

int[] noOfRecords = namedParameterJDBCTemplate.batchUpdate(updateQuery, batchValues.toArray(new Map[entity.size()]));
  

batchValues.toArray(new Map [entity.size()])类型安全:   Map []类型的表达式需要未经检查的转换才能符合   地图[]

如果我在方法级别使用了@SuppressWarnings("unchecked")这个注释,那么就解决了这个问题。

解决问题的最佳解决方案是什么?

1 个答案:

答案 0 :(得分:0)

方法声明为<T> T[] toArray(T[] to)

变量的赋值类型为Map [],但作为方法的引用,它是Object []

由于声明接受<T>,因此您可以在参数:

时进行简单操作
batchValues.<Map<String, Object>>toArray(new Map<String, Object>[entity.size()])