黑马程序员技术交流社区
标题:
泛型类的构造函数问题?
[打印本页]
作者:
罗全涛
时间:
2011-12-28 17:23
标题:
泛型类的构造函数问题?
本帖最后由 罗全涛 于 2012-1-2 14:15 编辑
将才看关于泛型类的资料时候,书中给了个例子,实现构造函数有点不明白:
public class Lhist<V> {
private V[] array;
public Lhist(int capacity) {
array = new V[capacity]; // illegal 错误的
}
}
----------------------------------------
public class Lhist<V> {
private V[] array;
public Lhist(int capacity) {
array = (V[]) new Object[capacity]; //正确的
}
资料只说具体原因很复杂,当学习到 底层细节 一节中的“擦除”主题时,就会明白。可我还是不太明白,大家帮忙看看,能用平白的话给出原因就更好了。
作者:
张建银
时间:
2011-12-28 18:47
泛型是TYPE不是Object 不能new所以报非法错误
作者:
罗全涛
时间:
2011-12-28 19:31
张建银 发表于 2011-12-28 18:47
泛型是TYPE不是Object 不能new所以报非法错误
对象在创建的时候不是会传进去一个类型吗?然后会强制将所有的V变成你传入的类型。那不就可以用new了?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2