zoukankan      html  css  js  c++  java
  • java 泛型

    一、什么是泛型?

       泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,

    就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。

    /*
                定义了一个List类型的集合,先向其中加入了两个int类型,随后加入一个String类型的值。
                这是完全允许的,因为此时list默认的类型为Object类型,所以在编译阶段正常。在之后的循环中,
                由于忘记了之前在list中也加入了String类型的值或其他编码原因,所以运行时会出现“java.lang.ClassCastException”异常。
                因此,导致此类错误编码过程中不易发现。
          */
        public static void main(String[] args) {
            List list=new ArrayList();
            list.add(100);
            list.add(200);
            list.add("ABC");
            for(int i=0;i<list.size();i++){
                Integer math=(Integer) list.get(i);//java.lang.ClassCastException
                System.out.println(math);
            }
        }

     

    /* 
         * 通过List<Integer>,直接限定了list集合中只能含有Integer类型的元素,
         * 由于编译器已经能够确认它是Integer类型了。所以在往集合找中添加String
         * 元素时会提示编译错误
         */
        public static void main(String[] args) {
            List<Integer> list=new ArrayList<Integer>();
            list.add(100);
            list.add(200);
            list.add("adsa")//提示编译错误
            for(int i=0;i<list.size();i++){
                Integer math=(Integer) list.get(i);
                System.out.println(math);
            }
        }

     

     

     

     

     

  • 相关阅读:
    理解ORM的前提:数据库中的范式和约束
    C#复习笔记(4)--C#3:革新写代码的方式(查询表达式和LINQ to object(下))
    设置或者得到CheckBoxList选中了的值
    Gridview中Datakeys 通过主键取得各列的值。
    如何直接在网页中显示PDF文件
    C#日期格式化
    asp.net 基础知识
    WebServers 异步
    asp.net中异步调用webservice
    C#中哈希表(HashTable)的用法详解
  • 原文地址:https://www.cnblogs.com/jalja/p/5005078.html
Copyright © 2011-2022 走看看