黑马程序员技术交流社区

标题: java泛型数组的强制转换 [打印本页]

作者: BlackHorse    时间: 2011-7-15 11:31
标题: java泛型数组的强制转换
为什么java不支持创建泛型数组??
有人说java泛型数组可以强制转换
Vector<Integer>[] VectorList=(Vector<Integer>[])new Vector[10];
HashMap<String, Long>[] mapArray = (HashMap<String, Long>[])new HashMap[10];
这样用好吗??
作者: 匿名    时间: 2011-7-15 13:40
不懂,这样写有什么意义吗
作者: 匿名    时间: 2011-7-15 20:01
复制到Eclipse报错了,说明不能这么写。
就像楼上所说的,能这么写,又有什么意义么,本来泛型的作用就是控制传入集合或者数组的类型,消除代码中的强制转换,防止错误的类型放入集合中,将错误尽可能的在编译阶段就发觉出来。你这个泛型数组和普通的泛型相比较,有什么优点么?如果没有优点和作用,也就没有存在的价值。
作者: 匿名    时间: 2011-7-16 10:40
不用进行强制类型转换了,因为Vector对象,HashMap对象只能容纳指定类型的对象,编译器能够在编译期间检测程序的类型正确性。当我们把VectorList,mapArray声明为类型Vector<Integer>,HashMap<String, Long>后就意味着变量在何时何地的使用都是正确的,编译器保证了这一点。
作者: 徐传任    时间: 2012-9-16 17:22
bucuo........




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2