JAVA 获取引用类型?

shaosijun2004 2012-05-24 10:47:45
比如

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();
求高人指点。。。
...全文
160 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
我嘞个去 2012-05-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
目前应该没有办法拿到的,你只能拿到E,或者拿到Object
这个问题有很多人问过,基本上最后都回放弃这样的思路
因为反射拿到的是编译好的RestDomain<E>的class信息,但是用户定义的变量如RestDomain<String> object,解析器根本没法找到RestDomain<String>的class信息(没有这样的class文件),怎么可能知道E就是String?因为只能拿到……
[/Quote]
偷学宝哥!
qybao 2012-05-24
  • 打赏
  • 举报
回复
目前应该没有办法拿到的,你只能拿到E,或者拿到Object
这个问题有很多人问过,基本上最后都回放弃这样的思路
因为反射拿到的是编译好的RestDomain<E>的class信息,但是用户定义的变量如RestDomain<String> object,解析器根本没法找到RestDomain<String>的class信息(没有这样的class文件),怎么可能知道E就是String?因为只能拿到RestDomain<E>的class信息(即RestDomain<E>的class文件),所以只能知道E或者泛型擦除变成Object
huage 2012-05-24
  • 打赏
  • 举报
回复
RestDomain<E>.getClass().getMethod("getObj").getReturnType().getSimpleName();

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧