List
java mongotemplate 用map class 会warn 如何让他不warn
Raw use of parameterized class 'Map'
文档:java mongotemplate 用map class 会war.
链接:http://note.youdao.com/noteshare?id=d4f1e0344134bfaa78cfcfb9120110f9&sub=39984274F4044AB79935DC58C171B224
泛型参数未检查的警告, 可以在你调用这个的方法或者类上面加上如下注解:
@SuppressWarnings({"unchecked"})
问题解决方案:
该警告信息是由于使用了原始类型(raw type)的 Map
,而不是使用泛型 Map<K, V>
引起的。为了解决这个问题,我们可以将代码修改为使用带有泛型参数的 Map
。
List<Map<String, Object>> maps = mongoTemplate.find(query, Map.class, collectionName);
注意到这里我们指定了 Map<String, Object>
,这是因为在数据库中存储的键值对是以字符串和对象的形式保存的。通过指定泛型参数,我们避免了警告信息的出现。
另外,如果你知道查询结果中的键值类型,也可以根据实际情况进行更具体的泛型参数设置。例如,如果你知道查询结果中的值类型都是字符串,可以将代码修改为:
List<Map<String, String>> maps = mongoTemplate.find(query, Map.class, collectionName);