牛骨文教育服务平台(让学习变的简单)
博文笔记

Java中的泛型<T>类与方法

创建时间:2016-07-04 投稿人: 浏览次数:41065
泛型就是变量类型的参数化。在使用泛型前,存入集合中的元素可以是任何类型的,当从集合中取出时,所有的元素都是Object类型,需要进行向下的强制类型转换,转换到特定的类型。而强制类型转换容易引起运行时错误。 泛型类型参数只能被类或接口类型赋值,不能被原生数据类型赋值,原生数据类型需要使用对应的包装类。 例子一:使用了泛型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 class Test<T> {     private T ob; // 定义泛型成员变量       public Test(T ob) {         this.ob = ob;     }       public T getOb() {         return ob;     }       public void setOb(T ob) {         this.ob = ob;     }       public void showType() {         System.out.println("T的实际类型是: " + ob.getClass().getName());     } }   public class TestDemo {     public static void main(String[] args) {         // 定义泛型类Gen的一个Integer版本         Test<Integer> intOb = new Test<Integer>(88);         intOb.showType();         int i = intOb.getOb();         System.out.println("value= " + i);         System.out.println("----------------------------------");         // 定义泛型类Gen的一个String版本         Test<String> strOb = new Test<String>("Hello Gen!");         strOb.showType();         String s = strOb.getOb();         System.out.println("value= " + s);     } }
例子二:没有使用泛型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 class Test2{     private Object ob; // 定义一个通用类型成员       
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。