【问题标题】:How can I create an array of objects of a generic class?如何创建泛型类的对象数组?
【发布时间】:2015-04-08 17:48:31
【问题描述】:

我构建了一个类来充当队列。我称它为 Generic 类型的 SalehQueue。如何创建该类的数组?

  SalehQueue<String> department=new SalehQueue<String>();

我可以这样做吗?

  SalehQueue[]<String> department=new SalehQueue[10]<String>();

有什么想法吗??

【问题讨论】:

标签: java arrays object generics


【解决方案1】:

是的,你可以这样做,实例化一个对象数组。

如果您无法创建泛型类型数组,只需在实例化时省略泛型类型即可。

List<String>[] stringss = new ArrayList[10];

【讨论】:

  • "instatiate an Array of objects" 这没有意义。再次阅读问题。
  • 它对我不起作用。我试过 SalehQueue[] department=new SalehQueue[10]();和 SalehQueue[] 部门=新 SalehQueue[10];同样的问题。
  • 我告诉了instiate对象数组,因为这是一个普通的对象数组。
  • 省略新的泛型类型
【解决方案2】:
 ArrayList <SalehQueue<String>> department=  new ArrayList <SalehQueue<String>>();

这是正确的答案。因为Java在泛型中不支持数组。

【讨论】:

    【解决方案3】:

    使用new创建数组时,组件类型必须是可填充类型。

    您可以使用原始类型创建数组:

    SalehQueue<String>[] department = new SalehQueue[10];
    

    或所有通配符参数化的类型:

    SalehQueue<String>[] department = (SalehQueue<String>[])new SalehQueue<?>[10];
    

    【讨论】:

      猜你喜欢
      • 2014-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 2021-10-10
      • 1970-01-01
      相关资源
      最近更新 更多