java参数为泛型的方法怎么反射?

thanatosx 发布于 2015/01/21 13:55
阅读 2K+
收藏 0

例如:

public class person{
    
    private <T> void eat(T obj){
        
    } 
}



怎么将person的eat方法反射出来

加载中
0
甘薯
甘薯

其实不管是什么类型, 最后不都是object?

你用object作为参数类型传进去也取不到?

蔡佳娃
蔡佳娃
高手往往一眼看穿,一语点破。
thanatosx
thanatosx
对,刚刚Test了一下,Object就可以了
0
thanatosx
thanatosx
没人回答那我就放狠招了@红薯
0
kidbei
kidbei

跟泛型没有关系。。。。Person.class.getMethod("eat",参数类型);java是伪泛型,在反射中取不到泛型的信息

kidbei
kidbei
回复 @________MX : 不好意思,没看清你的问题。这样很麻烦,也不是没有办法。先获得所有的method,Person.class.getMethods(),然后判断method的name是不是你要找的方法,然后取出这是method的ParameterTypes,根据参数的类型判断你要调用的是哪个eat方法。。。这是我能想到的复杂方法。java这个伪泛型确实有很多不便
thanatosx
thanatosx
我就是不知道第二个参数该添什么啊~这么说,eat方法对象反射不出来了?
返回顶部
顶部