gpt4 book ai didi

Java 泛型类型参数不在其范围内

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:49:44 24 4
gpt4 key购买 nike

<分区>

准备 OCPJP 6 考试(这就是我使用 Java 1.6 编译器的原因)我注意到我对 Java 泛型有一些不清楚的地方。考虑以下代码:

class A<K extends Number> {

public <V> V useMe1(A<? super V> a) { // OK
return null;
}

public <V> V useMe2(A<? extends V> a) { // OK
return null;
}

public <V> V useMe3(A<V> a) { // ERROR, but why, since 2 above were ok
return null;
}

}

当我尝试编译代码(使用 1.6 编译器)时,出现错误:

type parameter V is not within its bound

尽管上面的代码不可用,但我想知道为什么编译器认为类型 <? super V><? extends V>匹配绑定(bind)的类类型但是 <V>不是(因为 V 匹配这两个边界)。

我不打算修改那段代码,我想了解它。该代码取自样本 OCPJP 6 考试问题,询问“哪一行将编译?”

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