gpt4 book ai didi

java - 如何实现类型参数是参数化类型的约束

转载 作者:行者123 更新时间:2023-12-02 02:44:54 29 4
gpt4 key购买 nike

我想制作一个来自 FileDialog 的程序需要 .class (或者可能是 .java 文件)文件,条件是该类是泛型类型,例如 LinkedList<T> , ArrayList<T> ,或用户选择的任何数据结构。如果该类不是泛型类型,我想抛出异常。为了进一步解释,我想测试一下

inputClassX instanceof ParameterizedType

但是因为我想测试任何可能未实现 ParameterizedType 的任意类,我无法进行该测试。

我如何测试一个对象或 Class ,是泛型类型吗?

最佳答案

对于任意的Class对象,你可以检查getTypeParameters返回的数组的长度,如果它非零,则意味着该类具有泛型类型参数:

System.out.println(String.class.getTypeParameters().length != 0); // false
System.out.println(List.class.getTypeParameters().length != 0); // true

关于java - 如何实现类型参数是参数化类型的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44749078/

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