gpt4 book ai didi

java - 从通用类型到相同类型的未经检查的转换

转载 作者:行者123 更新时间:2023-12-02 07:17:00 25 4
gpt4 key购买 nike

以下代码在 IntelliJ IDEA 中生成警告 Unchecked cast: 'T' to 'U':

interface A {}
class B<T extends A, U extends A> {
void f() {
final T t = null;
final U u = (U) t;
}
}

这对我来说没有意义,因为 TU 被定义为相同的类型。有什么问题?

最佳答案

TU 未定义为同一类型。它们都定义为extends A,这意味着TU可以是实现A接口(interface)的无关类.因此类型转换是不安全的。

您唯一可以做的安全转换是将类型TU 的引用转换为类型A。当然你不需要这样的类型转换。您可以简单地将它们分配给 A 类型的变量。

关于java - 从通用类型到相同类型的未经检查的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60165445/

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