java 泛型List擦除问题(解决方案)
来源:互联网 发布:淘宝网店财务软件 编辑:程序博客网 时间:2024/04/29 23:34
java和c#比较,会有一个被C#耻笑的问题,就是java的泛型传入List时会被擦除,书上是这样解释的:
代码示例如下:
public abstract class AbstractOp implements Operation {
@Overridepublic T get(String customKey) { String vStr = CacheUtil.get(getKey(customKey)); if (null == vStr) { T vObj = this.getBizValue(customKey); CacheUtil.put(getKey(customKey), JSON.toJSONString(vObj), getExpireTime()); return vObj; } return JSON.parseObject(vStr, entityClass);}public int getExpireTime() { return TairConstant.NOT_CARE_EXPIRE;}
}
public class OpserviceImpl implements Opservice {
@Autowiredprivate Operation<List<StudentDo>> op;@Override public List<StudentDo> getStudents() { return op.get("studentKey"); }
}
public class StudentDo{
private String name;
private int age;
public String getName(){
}
……代码省略
}
如上的代码,类Op继承AbstractOp,再将类Op注入到Opservice中,调用getStudents()方法时得到的是List,解决办法,改造get方法
@Overridepublic T get(String customKey) { String vStr = CacheUtil.get(getKey(customKey)); if (null == vStr) { T vObj = this.getBizValue(); CacheUtil.put(getKey(), JSON.toJSONString(vObj, SerializerFeature.WriteClassName), getExpireTime()); return vObj; } return (T) JSON.parse(vStr);}
注意 这里用的json是fastjson,JSON.toJSONString(vObj, SerializerFeature.WriteClassName)已经对泛型List擦除问题做了处理
0 0
- java 泛型List擦除问题(解决方案)
- java泛型--擦除问题
- java泛型(擦除)
- 详解Java泛型(三)之类型擦除的问题
- Java擦除的问题
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- Java泛型(二)泛型的内部原理:类型擦除以及类型擦除所带来的问题
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- 成为一名优秀的程序员
- 【Andriod基础】Activity的生命周期
- 活动安排问题
- 古今数学史
- JavaScript快速上手之3:对象
- java 泛型List擦除问题(解决方案)
- 怎么改变CO的成本控制范围
- Linux 哪个压缩命令 可以在windows下解压的
- 单例模式 饿汉式与懒汉式
- UVA 11525 Permutation(树状数组)
- 【数据结构学习5】栈的学习
- Unity5.x入门游戏
- Python基础学习--第十二篇(面向对象编程基础)
- Java基础 - 栈的链式存储结构及实现