扫码关注官方订阅号
业精于勤,荒于嬉;行成于思,毁于随。
在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等都是这么反射的,例如:
hibernate
fastjson
List<String> list = JSON.parseArray("['abc','xyz']", String.class); User user = JSON.parseObject("{'name':'tom','age':23,'sex':0}", User.class);
public <T> void get(List<T> list,Class<T> clazz){ getA(clazz); }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
在java里泛型操作还是很麻烦的。
例如这种:
但是你直接写在方法上的这种是没办法获取的。
建议你改成如下方式:
像
hibernate,fastjson等都是这么反射的,例如: