【发布时间】:2015-06-29 22:49:20
【问题描述】:
我正在尝试拆分字符串并将内容加载到这样的地图中:
@SuppressWarnings("unchecked")
Map<String, List<String>> holder = gson.fromJson(response.split("server=")[1],
Map.class);
for (Map.Entry<String, List<String>> entry : holder.entrySet()) {
for (String hosts : entry.getValue()) {
serverList.add(hosts);
}
}
我的字符串是这样的:
server={"ABC":["PQR"],"DEF":["HELLO"],"TYU":[]}
现在你可以看到我有 @SuppressWarnings("unchecked") 来删除 Eclipse 生成的警告。这是我收到的警告消息:
Type safety: The expression of type Map needs unchecked conversion to conform to Map<String,List<String>>
现在我的问题是 - 除了添加 SuppressWarnings 标签之外,还有其他方法可以删除此警告消息吗?
【问题讨论】:
-
不,否则该方法必须返回具有正确模板值的特定映射,而不是通用映射。这背后的原因是您知道地图实际上是未选中的,因此您不能责怪 Java 的“怪异”。另一方面,您为什么要删除它?
-
让我们直截了当,你想抑制@Suppress?这一切将在哪里结束?
标签: java json dictionary casting gson