Lei
lei=(Lei)list.get(i);//这个语句本身没有错的,不过如果你要list。
里面装的不是Lei
类形或不是他的子类
会抛class
cast
exception
你可以用泛形的
List
list
=new
LinkedList
();
这样list就只能add
Lei
类型的对象,
list.get(int
i)获得的也是Lei
类型这样就不用转换。
注意一下,如果你用的是LinkedList。
的话不要用for
循环来遍历List
而要用Iterator,不然的话效率会很低的。
List<String> list = new ArrayList<String>();//创建集合对象;
list.Add("1");//在集合里存入数据。
list.Add("2");
List是一个接口,不能实例化,创建对象时要使用他的实现类ArrayList(其他);
看看http://www.jb51.net/article/45660.htm。
在JAVA中,想要把一个list中的内容添加至另一个list中,有两种方法:
采用循环的方法。通过循环第一个ArrayList,然后通过每循环一次的方式,将值赋值给另一个ArrayList。具体代码实现如下:
2.采用ArrayList自带的addAll()方法。addAll()方法是通过传入整一个List,将此List中的所有元素加入到新的List中,也就是当前List会增加的元素个数等于传入的List的大小。该方法较为简单,具体代码实现如下:
拓展资料:
1.List.add() 和 List.addAll() 的区别:
(1)List.add() 方法,也是往List 中增加list,但是,它增加的是一个List 实例。如果,往容器中增加的那个List 实例从数据库中查到的结果有5条,不过,如果使用了List.add(list1);程序只会输出一条记录。原因就是上面说的。List.add() 加List 实例,它会把这个看一个实例,而不是把那个看成一个容器。
(2) 例如:List.add(list1),List.add(list2);List.add(list3), 这时,List.size 它的大小是3。
(3)List.add() 的含义就是:你往这个List 中添加对象,它就把自己当初一个对象,你往这个List中添加容器,它就把自己当成一个容器。
(4)List.addAll()方法,就是规定了,自己的这个List 就是容器,往里面增加的List 实例,增加到里面后,都会被看成对象。
(5) 这时:List.add(list1),List.add(list2);List.add(list3), 这时,List.size 它的大小就是所有list 实例化后的总数和总的记录数。
2.集合是Java API所提供的一系列类,可以用于动态存放多个对象。集合与数组的不同在于,集合是大小可变的序列,而且元素类型可以不受限定,只要是引用类型。集合中不能放基本数据类型,但可以放基本数据类型的包装类。 集合类全部支持泛型,是一种数据安全的用法。java列表是集合的一种,并且列表中的元素是有序的,且允许重复。java列表又称为java list。
参考资料:Java List_百度百科。
你的第一种使用方式是JDK1.5才有的书写方式,叫泛型。
这确实和JDK的版本有关的。JDK1.5以前的版本(不包括1.5版本)是不支持的。如果你使用了JDK1.4的编译器,那么你的第一句是不能被编译通过的。
当你使用第一种方式书写时。那么,list中就必须储存String类型的数据。而不能储存别的类型数据了。当你使用后面的这种书写方式时,就没有类型限制了。
不过,推荐使用第一种方式,这样代码的可读性和以后的维护会比较方便。
希望对比有帮助。
1、List中可以添加任何对象,包括自己定义的新的类。
2、List是一个接口,不能实例化,需要实例化一个ArrayList或者LinkedList。
List myList = new ArrayList();。
3、使用myList.add(任何对象);就可以进行添加了。
4、取值的时候myList.get(索引);取出来的值都是Object,使用时需要类型转换。
原文地址:http://www.qianchusai.com/java%E4%B8%ADlist%E7%9A%84%E7%94%A8%E6%B3%95.html