为什么使用安全铸造而不是声明通用数据?

时间:2015-12-05 20:22:05

标签: java object generics casting declare

为什么在这么多书中他们会说出这样的话:

private E[] data;//E is a generic type

public ArrayList(int capacity){

 data = (E[]) new Object[capacity];//safe casting
}

而不是说

data = new E[capacity];

为什么使用安全铸造时,你可以这样声明?它是否与通用数据将在运行时而不是编译时声明的事实有关?或者它或多或少没有区别?

0 个答案:

没有答案