【发布时间】: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