(转载)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>就是个泛型。