如何摆脱@SuppressWarnings 标签?

How to get rid of @SuppressWarnings tag?

我正在尝试拆分字符串并将内容加载到地图中,如下所示:

@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 标记之外,还有其他方法可以删除此警告消息吗?

您可以使用TypeToken

final Type type = new TypeToken<Map<String, List<String>>>() {}.getType();
final Map<String, List<String>> holder = gson.fromJson(response.split("server=")[1], type);

阅读 了解 TypeToken 的工作原理