gpt4 book ai didi

Java泛型代码错误

转载 作者:行者123 更新时间:2023-11-30 07:57:28 25 4
gpt4 key购买 nike

我是泛型的新手,正试图理解为什么这段代码可以编译:

public Collection<Class<Subclass>> testFunction() {

return Collections.singleton(Subclass.class);
}

并且这段代码不会:

public Collection<Class<? extends SuperClass>> testFunction() {

return Collections.singleton(Subclass.class);
}

我的子类是这样的:

public class Subclass extends SuperClass{

}

最佳答案

上面的代码用 Java8 编译很好:

class SuperClass { }
class Subclass extends SuperClass{ }

class Test {
public Collection<Class<? extends SuperClass>> testFunction() {
return Collections.singleton(Subclass.class);
}
}

重点是:在 Java 8 中,类型推断得到了大量的修改和改进。

所以我的猜测是:这不会为您编译,因为您使用的是 Java 7;简单地说,编译器“不够好”,无法正确解析此类代码。

关于Java泛型代码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41262446/

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