• 泛型的作用,以及与Object的区别


    在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。

    public class Gen<T> {  
        private T ob; // 定义泛型成员变量  
      
        public Gen(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 GenDemo {  
        public static void main(String[] args) {  
            // 定义泛型类Gen的一个Integer版本  
            Gen<Integer> intOb = new Gen<Integer>(88);  
            intOb.showType();  
            int i = intOb.getOb();  
            System.out.println("value= " + i);  
            System.out.println("----------------------------------");  
            // 定义泛型类Gen的一个String版本  
            Gen<String> strOb = new Gen<String>("Hello Gen!");  
            strOb.showType();  
            String s = strOb.getOb();  
            System.out.println("value= " + s);  
        }  
    }  

    一句话总结就是:
    泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动隐式的,提高代码的重用率,不用像Object一样强转了。

  • 相关阅读:
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    同学录
    Alpha 冲刺 (5/10)
    Letcode刷题总结知识点
    python 基础语法
    Python 文件读写与编码解读
    py2exe界面和程序开发打包
    求职者五险一金解读
    互联网企业程序题总结
  • 原文地址:https://www.cnblogs.com/xiaoxiong2015/p/12705815.html
Copyright © 2020-2023  润新知