【问题标题】:Type safety: The expression of type Map.Entry needs unchecked conversion to conform to Map.Entry<String,CredentialParam>类型安全:类型 Map.Entry 的表达式需要未经检查的转换才能符合 Map.Entry<String,CredentialParam>
【发布时间】:2017-03-21 11:45:56
【问题描述】:

我正在尝试使用以下 Java 代码检索存储在凭证对象中的所有参数:

Map.Entry &lt;String,CredentialParam&gt; pairs = (Map.Entry)it.next();

但是,我不断收到以下警告:

类型安全:类型 Map.Entry 的表达式需要未经检查的转换才能符合 Map.Entry

除了抑制警告之外,我可以删除这个警告吗? 谢谢。

【问题讨论】:

  • 您能否添加更多代码,包括it 的类型? Map.EntryIterator 是泛型类型。
  • 您很可能需要在代码中的某处写 Map.Entry&lt;String,CredentialParam&gt; 而不是 Map.Entry
  • @Harmlezz,这里再次提取代码: Map.Entry pairs = (Map.Entry)it.next(); // 在我有类型转换的代码的右侧,我一直在变弱。
  • 正如@domdom 提到的:如果itIterator&lt;Map.Entry&lt;String,CredentialParam&gt;&gt; 类型,那么您应该将pairs 声明为Map.Entry&lt;String,CredentialParam&gt; 并删除铸造(Map.Entry)
  • @Harmlezz,感谢您的推荐。

标签: java eclipse


【解决方案1】:

鉴于:

Iterator<Map.Entry<String, CredentialParam>> it = map.entrySet().iterator();

请将您的代码更改为:

Map.Entry<String, CredentialParam> pairs = it.next();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-28
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-28
    相关资源
    最近更新 更多