从名称中实例化泛型的最佳方法是使用反射。在Java中,可以使用以下代码实现:
Class<T> clazz = (Class<T>) Class.forName(className);
Constructor<T> constructor = clazz.getDeclaredConstructor();
constructor.setAccessible(true);
T instance = constructor.newInstance();
在这个代码中,我们首先使用Class.forName()
方法获取类的Class
对象,然后使用getDeclaredConstructor()
方法获取类的构造函数。最后,我们使用setAccessible(true)
方法将构造函数设置为可访问,并使用newInstance()
方法创建类的实例。
需要注意的是,使用反射实例化泛型对象可能会引发安全问题,因此应该谨慎使用。此外,如果类没有默认构造函数,则需要使用其他方法来实例化泛型对象。
领取专属 10元无门槛券
手把手带您无忧上云