首页 > 解决方案 > Java with Eclipse: Type Safety: The Expression of type map requires unchecked conversion to Confirm to Map

问题描述

如何使用Eclipse删除Java中跟随“地图”的类型安全标记?

Map<String, String> errorStatus = exchange.getIn().getHeader("totalCount", Map.class);

它打印以下消息。

The Expression of type map needs unchecked conversion to confirm to Map<String,String>

在此处输入图像描述

更新

getIn() 和 getHeader 是内置的 Camel 方法。在一条路线中,我有 setHeader("headerkey",mapOfErrors) 并且当我进一步需要这个错误键时,我只是使用这些函数从 Camel Message 中获取它。以下是 getHeader() 的可用参数: 在此处输入图像描述

标签: javaeclipsegenericsapache-cameltype-safety

解决方案


如您所知,没有Map<String,String>.class,据我所知,对于您的情况,您有两个选择:首先创建一个包装类来扩展 HashMap,您可以使用 Wapper.class,我不推荐

WrapperClass errorStatus = exchange.getIn().getHeader("totalCount", Wrapper.class);

第二种方法只是忽略此警告并使用@SuppressWarnings("unchecked")


推荐阅读