gpt4 book ai didi

java - 为什么当我施放 X< 时会收到警告?将 Item> 扩展为 X

转载 作者:行者123 更新时间:2023-12-02 05:54:09 24 4
gpt4 key购买 nike

我有一个类,它实现了一个接口(interface),该接口(interface)声明了一个具有返回类型的方法

X<Item>

我正在使用声明为返回的方法 m() 调用另一个类

X<? extends Item>

我尝试通过强制转换直接返回结果:

return (X<Item>)other.m() 

为什么我会收到警告?可能会出现什么问题?有没有办法避免警告?

最佳答案

因为这可能是 X<SubItem> ,这不是 X<Item> .

你所做的事情本质上是不安全的;整点X<? extends>是您不知道实际的类型参数是什么。

如果您确定它实际上是 X<Item> ,您可以使用不安全的强制转换,并手动抑制警告,因为您比编译器知道的更多。

如果您不能完全确定这一点,则您的代码已损坏,您需要重新考虑您的类型。

关于java - 为什么当我施放 X< 时会收到警告?将 Item> 扩展为 X<Item>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23257048/

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