gpt4 book ai didi

java - 为什么我们可以实例化 Pair 而不能实例化 Pair

转载 作者:行者123 更新时间:2023-11-29 08:01:42 25 4
gpt4 key购买 nike

那为什么我们能实例化Pair却不能实例化Pair

Pair<T> p=new Pair<T>();

对比

Pair<?> p=new Pair<?>();

我知道 <?>意思是未知类型 --> <? extends Object>

但不是 <T>意思是一样的---> <T extends Object>

有人有想法吗?

最佳答案

<T>就其本身并不意味着什么。 T type 必须在某个地方定义,可以是在你的类或方法级别,例如:

public class PairFactory<T> {
public Pair<T> makePair() {
return new Pair<T>();
}
}

在这种情况下,您决定 <T>在实例化期间:

new PairFactory<String>();

这有点复杂:

public <T> Pair<T> makePair() {
return new Pair<T>();
}

编译器将尝试根据上下文找出类型,例如:

Pair<Date> p = makePair();

关于java - 为什么我们可以实例化 Pair<T> 而不能实例化 Pair<?>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13981028/

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