黑马程序员技术交流社区
标题:
集合能不能定义就初始化?
[打印本页]
作者:
吴通
时间:
2012-8-31 21:02
标题:
集合能不能定义就初始化?
import java.util.*;
class ListDemo
{
public static void main(String[] args)
{
ArrayList<String> al=new ArrayList<String>();
al.add("abc1");
al.add("abc2");
al.add("abc3");
sop(al);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
/*
int[] arr={2,3,4}数组定义的时候就能初始化,
虽然集合的长度不固定,但是打印的时候集合也是显示的有效的长度[abc1,abc2,abc3]
List集合能不能在定义的时候就初始化呢?
从而省去了al.add("abc1");
al.add("abc2");
al.add("abc3");
这样的操作?
*/
作者:
周兴华
时间:
2012-8-31 21:12
假设已经有了一个ArrayList<String> al,里面有元素"abc1","abc2","abc3"。
那么用构造方法ArrayList<? extends String> al1 = new ArrayList<? extends String>(al);就可在定义集合的时候也初始化了。
但前提是要先已经有了一个集合,并且要注意泛型的限定<? extends E>
作者:
周兴华
时间:
2012-8-31 21:36
其实在执行ArrayList<String> al=new ArrayList<String>();这句话的时候已经初始化了al,只不过al是初始容量为10的空列表。
作者:
袁艳超
时间:
2012-8-31 21:44
可以使用Arrays.asList 将数组转换对应的List,如: List<Integer> list2 = Arrays.asList(1,2,4);
也可以使用楼上的方法,List是一个接口,只能使用其实现类的构造方法来初始化;
作者:
吴通
时间:
2012-9-3 18:20
谢谢 已解决
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2