标签:
1:java泛型的好处是可以实现类型检查,比较安全,可以实现功能的扩展化,增强功能。
2:泛型的概念就是参数化的类型,相当于方法中的形式参数一样,先做一个占位符然后再在使用的时候传递真正的参数进去。
3:
package generic; /** * 自定义泛型类 * @author PC * */ public class GenericModel <T>{ private T data; public GenericModel(){ } public GenericModel(T data){ this.data = data ; } public void setData(T data){ this.data = data; } public T getData(){ return this.data; } }
package generic; public class GenericTest { public static void main(String[]args){ GenericModel <String>genericModel = new GenericModel<String>(); genericModel.setData("11"); System.out.println("String data"+genericModel.getData()); GenericModel <Integer>genericModel1 = new GenericModel<Integer>(); genericModel1.setData(22); System.out.println("Integer data"+genericModel.getData()); /** * 发现以下两者的输出一样,这说明在真正实现的时候,类只有一个类型,并没有两个不同类型的类 * 使用泛型类的时候,虽然传了两个类型参数,但是实际在内存中只有一个类型的参数 * 究其原因,在于Java中的泛型这一概念提出的目的, * 导致其只是作用于代码编译阶段,在编译过程中,对于正确检验泛型结果后,会将泛型的相关信息擦出, * 也就是说, * 成功编译过后的class文件中是不包含任何泛型信息的。泛型信息不会进入到运行时阶段。 * * * 泛型类型在逻辑上看以看成是多个不同的类型,实际上都是相同的基本类型。 * */ System.out.println(genericModel.getClass()); System.out.println(genericModel1.getClass()); } }
标签:
原文地址:http://www.cnblogs.com/lucystudy/p/4663028.html