是否可以在运行时获取类型参数?

用户名

我知道在Java中,由于存在擦除操作,因此在运行时没有参数化类型。但是是否有可能在运行时获取那些擦除的参数?让我提供一些示例:

public class MyClass<T>{ };

public static void foo(MyClass<?> p){
    //do staff
}

public void main(String[] args){
    MyClass<Integer> i = new MyClass<Integer>();
    foo(i);
}

现在,我们作为参数传递ifoo是否可以在foo的体内查询i实例化了哪种类型的参数也许某些反射工具可以在运行时保留该信息?

拉斐尔amoedo

您可以做的另一件事:

private Class<T> type;

public MyClass(Class<T> type) {
    this.type = type;
}

public Class<T> getType() {
    return type;
}

然后,您将像这样实例化:

MyClass<Integer> i = new MyClass<Integer>(Integer.class);

不是最好的方法,但是它可以解决问题。您可以在foo中访问类型:

p.getType();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以在运行时获取类型参数?

来自分类Dev

在运行时是否可以访问类型参数上的注释?

来自分类Dev

是否可以在运行时在SBCL / Common Lisp中检查/获取函数类型或其签名?

来自分类Dev

是否可以在运行时强制转换模板参数?

来自分类Dev

是否可以在运行时动态指定输出参数

来自分类Dev

是否可以在运行时在Julia中创建类型?

来自分类Dev

是否可以在运行时在Typescript中验证类型?

来自分类Dev

是否可以在运行时更改AngularJS变量的类型?

来自分类Dev

是否可以在运行时获取Java类的serialVersionUID

来自分类Dev

是否可以在运行时获取yaml属性?

来自分类Dev

是否可以在运行时获取从属进程的索引?

来自分类Dev

在运行时获取输入类型

来自分类Dev

C ++是静态类型语言,为什么我们可以在运行时获取类型

来自分类常见问题

在Scala中在运行时获取泛型参数的显式类型

来自分类Dev

Java创建带有在运行时获取的类型参数的泛型实例

来自分类Dev

在Scala中在运行时获取泛型参数的显式类型

来自分类Dev

Java创建带有在运行时获取的类型参数的泛型实例

来自分类Dev

Spring是否可以在运行时自动装配方法参数

来自分类Dev

是否可以在运行时从Data Factory中的Azure功能链接服务内部读取参数?

来自分类Dev

是否可以在运行时访问Java 8类型信息?

来自分类Dev

您可以在运行时检查对象是否符合Flow类型吗?

来自分类Dev

是否可以在运行时将数据类型分配给未知变量

来自分类Dev

是否可以在运行时在DataTable中定义列类型?

来自分类Dev

给定 DDS 主题名称,是否可以在运行时确定主题类型信息?

来自分类Dev

我可以在运行时检查内置类型吗?

来自分类Dev

在运行时获取python装饰器参数

来自分类Dev

Scala在运行时获取构造函数参数

来自分类Dev

在运行时获取元组中索引的类型

来自分类Dev

在运行时从python Literal类型中获取文字?

Related 相关文章

  1. 1

    是否可以在运行时获取类型参数?

  2. 2

    在运行时是否可以访问类型参数上的注释?

  3. 3

    是否可以在运行时在SBCL / Common Lisp中检查/获取函数类型或其签名?

  4. 4

    是否可以在运行时强制转换模板参数?

  5. 5

    是否可以在运行时动态指定输出参数

  6. 6

    是否可以在运行时在Julia中创建类型?

  7. 7

    是否可以在运行时在Typescript中验证类型?

  8. 8

    是否可以在运行时更改AngularJS变量的类型?

  9. 9

    是否可以在运行时获取Java类的serialVersionUID

  10. 10

    是否可以在运行时获取yaml属性?

  11. 11

    是否可以在运行时获取从属进程的索引?

  12. 12

    在运行时获取输入类型

  13. 13

    C ++是静态类型语言,为什么我们可以在运行时获取类型

  14. 14

    在Scala中在运行时获取泛型参数的显式类型

  15. 15

    Java创建带有在运行时获取的类型参数的泛型实例

  16. 16

    在Scala中在运行时获取泛型参数的显式类型

  17. 17

    Java创建带有在运行时获取的类型参数的泛型实例

  18. 18

    Spring是否可以在运行时自动装配方法参数

  19. 19

    是否可以在运行时从Data Factory中的Azure功能链接服务内部读取参数?

  20. 20

    是否可以在运行时访问Java 8类型信息?

  21. 21

    您可以在运行时检查对象是否符合Flow类型吗?

  22. 22

    是否可以在运行时将数据类型分配给未知变量

  23. 23

    是否可以在运行时在DataTable中定义列类型?

  24. 24

    给定 DDS 主题名称,是否可以在运行时确定主题类型信息?

  25. 25

    我可以在运行时检查内置类型吗?

  26. 26

    在运行时获取python装饰器参数

  27. 27

    Scala在运行时获取构造函数参数

  28. 28

    在运行时获取元组中索引的类型

  29. 29

    在运行时从python Literal类型中获取文字?

热门标签

归档