gpt4 book ai didi

java - 转换为通用类型时类型安全警告

转载 作者:行者123 更新时间:2023-11-30 08:36:13 25 4
gpt4 key购买 nike

(在研究这个问题时,我发现所有 SO 帖子和网站都说由于类型删除,你不能简单地转换为泛型类型,我没有找到任何要点。)

有人可以向我解释为什么 Eclipse 会提示我这个警告吗?

public <T> T getFromBag(String key, Class<T> clazz) {
Object val = null;
T typeCastValue = null;

if (commonDataBag.containsKey(key)) {
val = commonDataBag.get(key);
typeCastValue = clazz.cast(val);
}
return typeCastValue;
}

用法:

Map<String, Foo> stuff= myService().<Map>getFromBag(key, Map.class);

警告:

Type safety: The expression of type Map needs unchecked conversion to conform to Map<String,Foo>

最佳答案

Can someone explain to me why Eclipse prompts me with this warning?

myService().<Map>getFromBag(key, Map.class) ,您为类型变量 <Map> 提供显式类型见证 ( T ) .因此,调用的返回类型为 T ,即 Map .然后将其(类型为 Map )分配给类型 Map<String, Foo> ,这是从原始类型到参数化类型的未经检查的隐式转换。

关于java - 转换为通用类型时类型安全警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37866355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com