java 如何调用泛型类型的构造函数?

bluesky1年前 ⋅ 234 阅读

ChatGPT的回答仅作参考:

Java 中调用泛型类型的构造函数需要使用反射机制。具体步骤如下:

1. 获取泛型类型的 Class 对象,例如 List<String> 的 Class 对象可以通过 List.class 获取。

2. 获取泛型类型的构造函数,可以使用 Class 对象的 getConstructor 方法或 getDeclaredConstructor 方法获取。

3. 调用构造函数的 newInstance 方法创建泛型类型的实例,可以传入构造函数需要的参数。

示例代码如下:

```java
import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) throws Exception {
        // 获取 List<String> 的 Class 对象
        Class<List<String>> clazz = (Class<List<String>>) ArrayList.class;

        // 获取 List<String> 的构造函数
        Constructor<List<String>> constructor = clazz.getConstructor();

        // 调用构造函数创建 List<String> 的实例
        List<String> list = constructor.newInstance();

        // 添加元素
        list.add("hello");
        list.add("world");

        // 输出元素
        System.out.println(list);
    }
}
```

全部评论: 0

    相关推荐