加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何获取Foo <?>对象的<?>值?

发布时间:2020-12-15 02:56:07 所属栏目:Java 来源:网络整理
导读:(这有点是我 previous question的后续行动) 我有一个Foo?对象,foo. FOO T是一个界面. 如何获取隐藏在?后面的类型值? 注意,这不是微不足道的,因为foo可以是例如Bar String类的对象,其中Bar T实现Foo T或实现接口FloatFoo的一些anonyomus类,其中FloatFoo扩
(这有点是我 previous question的后续行动)

我有一个Foo<?>对象,foo. FOO< T>是一个界面.

如何获取隐藏在<?>后面的类型值?

注意,这不是微不足道的,因为foo可以是例如Bar< String>类的对象,其中Bar< T>实现Foo< T>或实现接口FloatFoo的一些anonyomus类,其中FloatFoo扩展Foo< Float>.我需要一个适用于所有情况的解决方案.

提前致谢 :)

解决方法

使用反射是不可能的,因为Java Generics存在 Type Erasure的问题.在运行时,已经删除了为泛型类Foo定义的类型,因此在该类上使用反射将不会产生其泛型类型.此类型信息仅用于编译类型安全性.

C#没有这个问题,可以访问类的模板化类型.

This是差异的概述.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读