未选中投射:地图输出正在触发未经检查的投射警告

时间:2013-03-17 16:13:16

标签: java casting warnings

我有以下代码行:

List<String> variandIds=(List<String>)parameters.get(AnalysisConstants.VARIANT_LOOKUPS_ID_LIST);

它会触发以下警告:Unchecked cast 'java.lang.Object' to 'java.util.List<java.lang.String>'

parameters这是一张地图。

我需要摆脱警告,所以我想找出一种检查列表值的方法 现在我可以使用@SuppressWarnings("unchecked")但我不想要解决问题而不是忽略它。

1 个答案:

答案 0 :(得分:1)

参数变量声明不使用泛型或声明为Object类型的键。

如果参数变量是您可以控制的,则应更改声明以使用泛型。

如果它不在你的控制之下,除了抑制警告之外你什么也做不了。

编辑:

private List<VariantLookup> updateSelectedVariants(Map parameters)

应该是

private List<VariantLookup> updateSelectedVariants(Map<KEY_TYPE,List<String>> parameters)