使用类参数实例化 Java 中的泛型类型
Java 中的泛型提供了一种便捷的方式来定义可操作各种类型的类和方法数据类型。然而,实例化泛型类型的对象可能有点棘手。
假设你有一个像这样的类声明:
public class Abc<T> { public T getInstanceOfT() { // I want to create an instance of T and return the same. } }
如何在getInstanceOfT 方法?
解决方案:
关键实例化泛型类型是将实际类型作为参数传递给泛型类。这可以使用Class
public class Abc<T> { public T getInstanceOfT(Class<T> aClass) { return aClass.newInstance(); } }
在此修改后的代码中, getInstanceOfT 方法接受 Class
异常处理:
重要的是要注意,您需要向代码中添加异常处理,因为 newInstance() 可以抛出 InstantiationException 或IllegalAccessException.
运行时类型:
将实际类型作为参数传递是必要的,因为 T 的类型在编译时未知。编译后,字节码不包含任何有关实际类型的信息,因此必须在运行时显式提供。
以上是如何使用类参数实例化 Java 中的泛型类型?的详细内容。更多信息请关注PHP中文网其他相关文章!