码迷,mamicode.com
首页 > 编程语言 > 详细

jdk学习之路---java泛型

时间:2015-07-21 01:24:27      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

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());
    }
}

 

jdk学习之路---java泛型

标签:

原文地址:http://www.cnblogs.com/lucystudy/p/4663028.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!