(转载)Java里新建数组及ArrayList java不允许泛型数组

java中新建数组:

String[] s;//定义的时候不需要设置大小
s = new String[5];//为数组分配空间时就要设置大小
 
对于ArrayList,
ArrayList<String> result = new ArrayList<String>();
//这时候就不需要设置大小了,result.add(string)添加一个元素,result.remove(string)删除一个元素,大小可以由result.size()得到
 
再来看看
java里允许Map[] mapArray = new Map[5];
也允许Map<Integer,String>[] mapArray = new Map[5];
但不允许Map<Integer,String>[] mapArray = new Map<Integer,String>[5];//即不允许new一个带泛型的数组
 
在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。泛型就是显示的告诉编译器容器里的类型,如Map<Integer,String>就是个泛型。
posted on 2014-11-28 14:13  Lei zhou  阅读(436)  评论(0编辑  收藏  举报