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

Java反射:我的Collection包含什么?

发布时间:2020-05-24 07:33:28 所属栏目:Java 来源:互联网
导读:我在类中定义了一个方法:public void setCollection(CollectionMyClass); 在另一个班级public void setCollection(CollectionOtherClass); (实际上,很多类似的课程)所有都在具有相同超类的类中,并且我在支持类中有一个方法,我想调用此方法并使用

我在类中定义了一个方法:

public void setCollection(Collection

在另一个班级

public void setCollection(Collection

(实际上,很多类似的课程)

所有都在具有相同超类的类中,并且我在支持类中有一个方法,我想调用此方法并使用正确类类型的项设置它.现在,我可以通过这样做来设置收藏

Method setter = ...;
Class

但是,我如何确定此集合中的对象应该属于哪个类?

干杯

最佳答案
Method.getGenericParameterTypes();

返回参数接受的Types数组.复杂性从那里呈指数级增长.

在您的具体情况下,这将工作:

    Method m = Something.class.getMethod("setCollection",Collection.class);
    Class

但是那里存在很多潜在的问题,具体取决于参数的声明方式.如果它像你的例子一样简单,那很好.如果没有,那么在getGenericParameterTypes()方法和getActualTypeArguments()方法中都有一些类型需要考虑.它变得非常毛茸茸,非常快.

(编辑:安卓应用网)

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

    推荐文章
      热点阅读