java - 使用 Class.forName 实例化参数化类型

标签 java generics reflection

我有以下类(class):

public class B {
}

public class A<B> {
}

如果我有两个字符串变量,如何使用 Class.forName 实例化类 A:

String classNameA = "A";
String classNameB = "B";

最佳答案

由于type erasure ,在运行时不会有任何泛型类。

例如,下面的一段代码将输出没有泛型的class java.util.ArrayList:

List<String> list = new ArrayList<String>();
System.out.println(list.getClass());

关于java - 使用 Class.forName 实例化参数化类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16660937/

相关文章:

string - 在golang中使用字符串调用结构字段

java - 如何在 Android 上创建 50hz 方波并播放

java - 如何使用自定义布局创建对话框弹出窗口?

java - 停止单个quartz调度器

Java:Spring Boot 类构造函数有太多 DI?

德尔福2009 : Is it possibly dangerous to use TList<[any interface]> with default comparator?

c# - 在设计时不知道类名的情况下创建对象

Java 接口(interface)扩展 Comparable

java - 为什么Java的Hashtable的get方法接受一个Object作为参数?

java - 如何从 Class[_] 对象中获取二进制数据?