具有泛型的对象的Java数组

具有泛型的对象的Java数组,java,oop,generics,Java,Oop,Generics,我的结构如下: public class SomeObject<T> { int key; T value; ... } 有什么解决办法吗?或者,我有没有办法重组它,让它发挥作用 使用 @SuppressWarnings("unchecked") TestSomeObject() { this.data = new SomeObject[capacity]; } 不能将新对象()强制转换为某个对象 也许你想要这样的东西 public clas

我的结构如下:

public class SomeObject<T> {

    int key;
    T value;
    ...
}
有什么解决办法吗?或者,我有没有办法重组它,让它发挥作用

使用

@SuppressWarnings("unchecked")
TestSomeObject() {
     this.data =  new SomeObject[capacity];
}

不能将新对象()强制转换为某个对象

也许你想要这样的东西

public class TestSomeObject<T> {

  SomeObject<T>[] data;

  TestSomeObject() {
       this.data =  new SomeObject[] {new SomeObject<T>()};
  }

  public static void main(String... args) {
    new TestSomeObject<String>();
  }

}
公共类TestSomeObject{
SomeObject[]数据;
TestSomeObject(){
this.data=newsomeobject[]{newsomeobject()};
}
公共静态void main(字符串…参数){
新建TestSomeObject();
}
}
如果“新对象[capacity];”中的对象是java.lang.Object,这是正常的。 你不能将新对象投射到任何东西中。 你必须做到:

this.data = new SomeObject<T>[capacity];
this.data=newsomeobject[capacity];

您希望它做什么:
this.data=(SomeObject[])新对象[容量]?使用泛型和转换。。。为什么?
public class TestSomeObject<T> {

  SomeObject<T>[] data;

  TestSomeObject() {
       this.data =  new SomeObject[] {new SomeObject<T>()};
  }

  public static void main(String... args) {
    new TestSomeObject<String>();
  }

}
this.data = new SomeObject<T>[capacity];