在 String 中实例化具有给定类型的泛型 class 对象
Instantiating object of generic class with given type in String
我想创建一个方法,它可以创建我的泛型 class 的实例。该对象的类型必须由给定的字符串指定。原型看起来像这样:
public class SomeClass {
static BST<?> bst;
public static void main(String[] args)
{
MakeInstance("String");
}
static <T extends Comparable<T>> void MakeInstance(String input)
{
try {
bst = (BST<?>) Class.forName(input).newInstance();
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
我想输入 "Integer" 并且方法应该创建 Integer (BST) 类型的 BST 对象
没有反射创建 Integer 类型的 BST 这样的事情。您只需创建一个原始 BST 并对其进行转换:
bst = new BST();
我想创建一个方法,它可以创建我的泛型 class 的实例。该对象的类型必须由给定的字符串指定。原型看起来像这样:
public class SomeClass {
static BST<?> bst;
public static void main(String[] args)
{
MakeInstance("String");
}
static <T extends Comparable<T>> void MakeInstance(String input)
{
try {
bst = (BST<?>) Class.forName(input).newInstance();
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
我想输入 "Integer" 并且方法应该创建 Integer (BST) 类型的 BST 对象
没有反射创建 Integer 类型的 BST 这样的事情。您只需创建一个原始 BST 并对其进行转换:
bst = new BST();