在Java revisited中,代码摘录如下:
class Holder<T>{
  private T[] contents;
  private int index = 0;
  public Holder(int size){
    //contents = new T[size]; //compiler error - generic array creation
    contents = (T[]) new Object[size]; //workaround - casting Object[] to generic Type
  }...}
它用于创建通用数组,但根据类型擦除(我在 java 在线教程上检查过),在编译的类中T结束,所以强制转换会结束
,这似乎与没有强制转换没有区别。Object(T[])(Object[])
那么该铸造的功能或铸造的任何特殊含义是什么?任何提示都是感激的。