gpt4 book ai didi

java - 什么可能是 ParameterizedType 的实例?

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

阅读 ParameterizedType 的文档后interface 我认为 ParameterizedType 实例的示例可以是任何参数化类型,例如我代码中的 col:

  public class a0 {

public static void main(String[] args) {

Collection<String> col = new ArrayList<String>();
col.add("a");
col.add("b");
col.add("c");

assert col instanceof ParameterizedType; // line No. 10
}
}

但是我明白了:

Exception in thread "main" java.lang.AssertionError
at a0.main(a0.java:10)

因此,ParameterizedType 的实例可能是什么?

我想知道这个,因为我试图理解一个更大的程序,其中有这样一个片段:

public static void printType(Type type) {
...
if (type instanceof ParameterizedType) {
... }
}

但我不知道 if 语句中的条件何时为真..

最佳答案

ParameterizedType 是一种反射类型,代表参数化类型。参数化类型本身不是该类的实例。

类似地,一个Field instance 用于表示某个类型的类成员字段。这并不意味着这样的字段将是 Field 的实例。

ParameterizedType 的示例如下:

Type[] genericInterfaces = col.getClass().getGenericInterfaces();
Type type = genericInterfaces[0];

assert type instanceof ParameterizedType;

关于java - 什么可能是 ParameterizedType 的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32156759/

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