您的位置:首页 > 编程语言 > Java开发

jdk学习之路---java泛型

2015-07-20 23:04 567 查看
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());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: