jdk学习之路---java泛型
2015-07-20 23:04
567 查看
1:java泛型的好处是可以实现类型检查,比较安全,可以实现功能的扩展化,增强功能。
2:泛型的概念就是参数化的类型,相当于方法中的形式参数一样,先做一个占位符然后再在使用的时候传递真正的参数进去。
3:
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()); } }
相关文章推荐
- java 设计模式 Iterator 容器与容器遍历
- Springmvc+spring+maven+Mybatis整合
- Java万年历,输入年月获取该年月日历表
- 观察者模式及Java实现例子
- stuts2注解
- javaEE第三~四天
- Java中编码占几个字符
- JavaEE学习第二天
- java7动态类型支持
- Java进阶---Java一些基础知识
- JavaEE学习第一天
- Spring学习笔记——Spring如何装配各种类型的属性以及实际应用
- Spring 环境搭建
- spring(11) Spring的生命周期
- java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容
- spring(9) Spring中使用外部属性文件
- java中定时器(java.util.Timer)
- spring(8) Spring中bean的作用域
- spring(7) Spring中的依赖bean
- spring(6) Spring中bean配置的继承