【发布时间】:2014-03-31 08:14:38
【问题描述】:
首先,关于 SO 本身有多个帖子解释了为什么泛型和数组不会在 Java 中混合使用。
但我的问题是 - 如果是这样,当我执行以下操作时为什么会在 Eclipse 中收到警告以及如何消除此警告消息。
private RotatingQueue<RotatingQueueData> rQueue[] = new RotatingQueue[15];
警告: 此行有多个标记 - 类型安全:RotatingQueue[] 类型的表达式需要未经检查的转换为 符合RotatingQueue[]
【问题讨论】:
-
如果将作业的右侧更改为
new RotatingQueue<RotatingQueueData>[15]会发生什么? -
更好:
new RotatingQueue<>[15]? (Java 7 已经出局,甚至 Java 8) -
是的,我知道,但我不想引入新的未知数,因为我们不知道 Andy 正在运行什么版本。
-
@DavidWallace & LutzHorn 这些都行不通。不允许创建参数化类型的数组。
-
@Andy897 是的。你可以压制它。更好的是避免创建参数化类型的数组。而是使用
List<RotatingQueue<RotatingQueueData>>。