gpt4 book ai didi

java - 如何创建泛型类的新实例

转载 作者:行者123 更新时间:2023-11-29 09:35:21 26 4
gpt4 key购买 nike

我创建了一个这样的函数

public <T extends ClientCoporate> void myFunction(List<T> clients){
T client = new T(); // issue
....
}

IDE 错误无法实例化类型 T

一个简单的问题,我如何在此处创建扩展 ClientCoporate 的任何类的新实例?我尝试搜索但没有希望,如果您能找到任何重复的问题,请随时为我打个旗子。谢谢。

最佳答案

你不能。

因为泛型在运行时被删除,编译器不知道要创建什么类型的对象。 T 只是一个占位符,因此尝试实例化它是非法的。

通常这个问题是这样解决的

public <T extends ClientCoporate> void myFunction(Class<T> clazz, List<T> clients){
T client = clazz.getDeclaredConstructor().newInstance(); ....
}

关于java - 如何创建泛型类的新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54107022/

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