java - 如何创建包含泛型类型的类的实例对象(使用反射)?

标签 java

使用反射,我需要创建包含泛型类型的类的实例对象。

到目前为止,我正在努力寻找解决方案。

感谢谁能帮助我。

示例:

第一类:

package app;

public class PTRow {

}

第二类:

package app;

public class PTQuery<T extends PTRow> {

}

三级。问题在这里:

package app;

public class PTConnection {

    public PTQuery<? extends PTRow> createQuery() {

        //TODO How implement this?

        return null;

    }

}

可能吗?

最佳答案

不,不是。

所有泛型类型在编译时都会通过称为类型删除的过程转换为 java.lang.Object。因此,您的强类型泛型在运行时全部丢失。

您需要使用良好的老式多态性和工厂模式习惯用法。

关于java - 如何创建包含泛型类型的类的实例对象(使用反射)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35201005/

相关文章:

java - 如何从另一个 Java 项目读取文件

java - 按下场景生成器时选择的文件无效 FXML 错误

java - Swing 在作业运行时更新 UI 组件

java - 在java中将字符更改为字符串

java - JScrollPane 中未出现多个 JTree

java - 如何通过 Apache HttpClient 执行以 xml 数据作为查询参数的 url?

java - 使用 JDK 8 编译泛型方法时的强制转换失败

java - 对 For 循环中的数字求和

java - 如何只替换数字后面的双引号?

Java MouseListener图形实现