在 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();