gpt4 book ai didi

java - GenericArrayType 接口(interface)的实例

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

class ReflectionClass{
public static void anyMethod(Type type){
if(type instanceof GenericArrayType){
// some code
}
}
}
class Client{
public static void main(String[] args){
anyMethod(...);
}
}

我试图在 if(type instanceof GenericArrayType) 语句中接收“真”值。

那么,我应该将什么作为参数放入 Client 类中的 anyMethod 方法调用中?

来自关于 GenericArrayType interface 的 Oracle 文档:

GenericArrayType represents an array type whose component type is either a parameterized type or a type variable.

但是,我也知道我不能从 here 创建参数化类型的数组

那么,我该如何实现呢?

最佳答案

在属于通用数组类型的任何方法、字段等上使用反射。

例如,List.toArray(T[]) -> T[]

List.class.getMethod("toArray", Object[].class).getGenericReturnType();

或者自己声明一个泛型数组,反射(reflection)一下

public List<String>[] array;

MyClass.class.getField("array").getGenericType()

关于java - GenericArrayType 接口(interface)的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32206811/

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