比如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();
求高人指点

解决方案 »

  1.   

    RestDomain<E>.getClass().getMethod("getObj").getReturnType().getSimpleName();
      

  2.   

    目前应该没有办法拿到的,你只能拿到E,或者拿到Object
    这个问题有很多人问过,基本上最后都回放弃这样的思路
    因为反射拿到的是编译好的RestDomain<E>的class信息,但是用户定义的变量如RestDomain<String> object,解析器根本没法找到RestDomain<String>的class信息(没有这样的class文件),怎么可能知道E就是String?因为只能拿到RestDomain<E>的class信息(即RestDomain<E>的class文件),所以只能知道E或者泛型擦除变成Object