码迷,mamicode.com
首页 > 其他好文 > 详细

泛型集合之ArrayList

时间:2017-05-16 11:07:17      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:thread   logs   实例化   exception   pack   port   public   泛型   color   

泛型集合就是用<>形参和实参规定好的集合,就是在原来的基础上加了一对括号和限制了参数类型,便于在编译时不会报错,在运行时也不会报错。看一下下面的代码。

package jihe;

import java.util.ArrayList;

public class ArrayListTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //实例化集合对象
        ArrayList list=new ArrayList();
        list.add("好好");
        list.add("学习");
        list.add("java程序");
        list.add(123);//第四行
        //便利集合
        for (int i = 0; i < list.size(); i++) {
        String object = (String)list.get(i);
            System.out.println(object);
            
        }

    }

}





好好
学习Exception in thread "main" 
java程序
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
    at jihe.ArrayListTest.main(ArrayListTest.java:15)

重上面的代码大家可以看到第四行添加了一个integer类型的数据,在编译时并未报错,而运行时报错了,java.lang.ClassCastException。但是如果我们使用泛型集合时编译就会报错

java.lang.ClassCastException:
package jihe;

import java.util.ArrayList;

public class ArrayListTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //实例化集合对象
        ArrayList<String> list=new ArrayList<String>();
        list.add("好好");
        list.add("学习");
        list.add("java程序");
        //list.add(123);//第四行提示编译出错
        //便利集合
        for (int i = 0; i < list.size(); i++) {
        //String object = (String)list.get(i);//第6行
            String string = list.get(i);//第7行
            System.out.println(string);
            
        }

    }

}
所以大家可以看到,使用泛型集合避免了很多麻烦,而且在便利是不用强转,简化了代码,更容易理解。泛型集合在便利是方法更多
 

 

泛型集合之ArrayList

标签:thread   logs   实例化   exception   pack   port   public   泛型   color   

原文地址:http://www.cnblogs.com/liuxingzhi/p/6859997.html

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