关于把泛型class作为参数传给方法调用的问题

q149072205a 2016-03-23 10:51:29
有一个类
classs AAA<T>{
int i;
T t;
}
还有有一个User类
class User{
String name;
}

方法
public <T> T Fun(Class<T> t1){
return t1;
}
现在想问怎么把参数AAA<User>传到Fun里面
这样调用:class1<User> c=Fun(AAA<User>.class)这样不行啊。。。
想问一下。应该怎么调用。。。
...全文
3293 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
huahua035 2020-03-12
  • 打赏
  • 举报
回复
小兄弟,你问的这个问题,准确描述:多层嵌套泛型类的class如何获取? 错误方法: 1、AAA<User>.class 2、new AAA<User>().getClass() 上面两种肯定不行,第一种编译不通过,第二种外部class解析通过,内部class会解析为map 常见解决方法:借助于fastJson的TypeReference 先把结果转换为String,直接使用String.class 然后 AAA<User> data = JSON.parseObject(jsonStr, new TypeReference<AAA<User>>() { }.getType()); 搞定! 前提条件:结果就是json格式,要转换为多层嵌套的泛型类
whatTheFuckOfyou 2019-05-23
  • 打赏
  • 举报
回复
你这个Fun是个错误的方法吧 你用编译器 写进去看看 你return 的是一个java.lang.Class 而所需要的就是一个正常的类,所以 你这个方法 是错的 编译器 会报错
q149072205a 2016-03-28
  • 打赏
  • 举报
回复
谁知道提点一下啊。

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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