比如
- Java code
public class RestDomain<E>{ private String url; private E obj; public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public E getObj() { return obj; }}
当object 实例化时,obj域指向null,在不给obj引用付值实际对象前,有什么方法可以得到obj引用的类型
效果需要等同于 obj.getClass().getSimpleName();
求高人指点。。。
------解决方案--------------------
RestDomain<E>.getClass().getMethod("getObj").getReturnType().getSimpleName();
------解决方案--------------------
目前应该没有办法拿到的,你只能拿到E,或者拿到Object
这个问题有很多人问过,基本上最后都回放弃这样的思路
因为反射拿到的是编译好的RestDomain<E>的class信息,但是用户定义的变量如RestDomain<String> object,解析器根本没法找到RestDomain<String>的class信息(没有这样的class文件),怎么可能知道E就是String?因为只能拿到RestDomain<E>的class信息(即RestDomain<E>的class文件),所以只能知道E或者泛型擦除变成Object
------解决方案--------------------