泛型

作者: acc8226 | 来源:发表于2017-01-25 10:38 被阅读9次

    Java 5之后提供泛型(Generics)支持,使用泛型可以最大限度地重用代码、保护类型的安全以及提高性能。泛型特性对Java影响最大是集合框架的使用。

    对于Java 5之前程序员而言,使用集合经常会面临一个很尴尬的问题:放入一个种特定类型,但是取出时候全部是Object类型,于是在具体使用时候需要将元素转换为特定类型。上述代码第①行取出的元素是Object类型,在代码第②行需要强制类型转换。强制类型转换是有风险的,如果不进行判断就臆断进行类型转换会发生ClassCastException异常。

    而泛型的引入可以将这些运行时异常提前到编译期暴露出来,这增强了类型安全检查。

    自定义泛型类

    public class Queue<T> {                         
    
        // 声明保存队列元素集合items
        private List<T> items;                      
    
        // 构造方法初始化是集合items
        public Queue() {
            this.items = new ArrayList<T>();        
        }
    
        /**
         * 入队方法
         * @param item 参数需要入队的元素
         */
        public void queue(T item) {                 
            this.items.add(item);
        }
    
        /**
         * 出队方法
         * @return 返回出队元素
         */
        public T dequeue(){                         
            if (items.isEmpty()) {
                return null;
            } else {
                return this.items.remove(0);        
            }
        }
    
        @Override
        public String toString() {
            return items.toString();
        }
    
    }
    

    相关文章

      网友评论

        本文标题:泛型

        本文链接:https://www.haomeiwen.com/subject/zoutittx.html