【问题标题】:Creating an array of concrete instances of a generic class创建泛型类的具体实例数组
【发布时间】:2016-03-06 00:37:21
【问题描述】:

我有一个通用类Position<E> 和一个具体类Card。如何创建Position<Card> 类型的数组?

我试过了: Position<Card>[] suitPositions = (Position<Card>[]) new Object[5];
但我得到一个 ClassCastException。

但是当我尝试时: Position<String>[] suitPositions = (Position<String>[]) new Object[5];
它工作得很好。

【问题讨论】:

  • new Position<Card>[5] 不起作用吗?
  • 不,这会产生通用数组创建错误。
  • 使用(Position<Card>[])new Position<?>[5]

标签: java arrays generics casting


【解决方案1】:

使用原始类型创建数组:

Position<String>[] suitPositions = new Position[5];

【讨论】:

    猜你喜欢
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    相关资源
    最近更新 更多