【发布时间】:2020-05-21 10:00:35
【问题描述】:
如何使用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() 的可用参数:
【问题讨论】:
-
这看起来像是“你不能”的情况之一,因为 Java 类型系统的固有缺陷。但我不能确定这么少的信息。
-
@Amongalen 你什么时候可以做
Map<String,String>.class? -
@Amongalen 试试看。
-
如果不是那么我应该像 Map 那样写它来代替 Map
-
@fatherazrael 不,您仍应使用
Map<String, String>。如果这真的是“你不能”的情况之一,你可以输入@SuppressWarnings。但正如我所说,除非您告诉我更多信息,否则我无法确定。 例如,getHeader是什么?getIn是什么? 你在做什么?
标签: java eclipse generics apache-camel type-safety