怎么获取泛型T.class类?
2018-11-22 08:43:37来源:博客园 阅读 ()
public <T> void get(List<T> list){ getA(T.class); //报错,不能调用T.class } public void getA(Class<?> class){ }
如上代码,要调用getA()方法,必须传入一个Class类,使用泛型怎么传递这个Class类呢?
在java里泛型操作还是很麻烦的。
例如这种:
class Service<K, V> { // 此处的K,V都可以获取 // 多个的时候也一样 } class StringService extends Service<String, Integer> { }
但是你直接写在方法上的这种是没办法获取的。
public <T> void get(List<T> list){ getA(T.class); //报错,不能调用T.class }
建议你改成如下方式:
public <E> E get(List<E> list, Class<E> clazz) { getA(clazz); return null; } public <E> void get1(List<E> list, Class<E> clazz) { getA(clazz); } public void getA(Class<?> clazz) { }
像hibernate
,fastjson
等都是这么反射的,例如:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:java 三种循环及注意事项
- 作为一个面试官,我想问问你Redis分布式锁怎么搞? 2020-06-10
- 怎么用Java 高效提取、替换、删除PDF文档中的图片 2020-06-09
- Java笔记:数组,异常,泛型 2020-06-08
- Java中jar包获取资源文件的方式 2020-06-05
- Java连载120-反射机制获取构造方法和父类、父接口 2020-06-05
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash