java带泛型的实体类
来源:互联网 发布:英国知山大学 编辑:程序博客网 时间:2024/04/28 01:12
对于带泛型的实体,会有两个问题困扰我们,第一:如何获取泛型的类型,第二:如何实例化带泛型的实体类。
第一个问题可以先看代码:
class A{private String name;public String getName(){return this.name;}public void setName(String name){this.name = name;}public String toString(){return "A{'name':"+this.name+"}";}}class B<T,PK extends Serializable>{Class<T> ref;public B(){Class c = getClass();Type type = c.getGenericSuperclass();if(type instanceof ParameterizedType){Type[] paramsType = ((ParameterizedType) type).getActualTypeArguments();ref = (Class<T>) paramsType[0];}}public String getRefType(){return ref.getName();}}
这里我考虑A作为普通类,B作为带泛型A的普通类,这样,我们需要在B中获取类型A,核心代码在B的构造函数中。
针对第二个问题,如何实例化带泛型参数的实体类,最初我简单的以为可以使用如下代码
这样的结果是报空指针。后来通过用实体C来继承B,类似实例化C,就好了,不报空指针,如下图。
运行结果如图:
这种采用继承来实例化带泛型的方法其实在实际中使用的更多,但是这还不是我最想要的实例化方法,难道就不能直接实例化B吗,直到我看到了另外一篇文章,对带泛型的实体实例化采用了这样的代码。
GenericTest<String> test = new GenericTest<String>(){};这样对实体B的实例化就很清楚了。直接上截图。
对带泛型的实体类实例化和普通实体实例化不同,后面还需加上"{}"。
0 0
- java带泛型的实体类
- java的实体类
- Java实体类的作用
- java-常用的实体类
- java实体类里有个'内部实体类'的调用方法
- 【java】:java实体类
- java中实体类的区分
- Java实体类的作用--资料
- java中实体类的规范用法
- Java Javabean(实体类)的意义
- java实体类的Serializable机制
- 解析java实体类
- 解析java实体类
- java实体类作用
- java实体类
- 解析java实体类
- Java中的实体类
- Java之实体类
- Web性能压力测试工具之ApacheBench(ab)详解
- 10个精彩的js片段代码
- 自定义Editview屏幕适配
- 女生可不可以进入IT行业做Linux运维工程师?
- trade层和front层maven打包的问题
- java带泛型的实体类
- tableView与collectionView区别讲义
- oracle 存储过程
- Mac 下修改 PHP 本地服务器路径
- 28、Power Query-分支语句的妙用
- 深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
- 异常体系和File类
- ImageView
- 整理POI解析数据和生成下拉框模板的例子