【发布时间】:2014-05-21 15:57:59
【问题描述】:
我有一个抽象的泛型类,它需要一个数字常量来初始化一个数组。当我使用该泛型类时,我在编译时知道数组的大小。有什么方法可以实现吗?
abstract class Node<T, MagicN> {
private T parent = null;
private T[] child = (T[]) new Object[MagicN];
//some methods that rely on the initialized array.
}
final class ConcreteNode extends Node<ConcreteNodeType, 2> {
}
在这个例子中,ConcreteNode 类有 2 个孩子。
【问题讨论】:
-
什么?你的问题真的不清楚。
-
这是无效的:private T[] child = (T[]) new Object[MagicN];
-
我想用一个通用常量值初始化数组。我无法更好地解释:(
-
来吧,我知道这是无效的,这就是我将其命名为 MAGIC 的原因!这只是一个例子。
-
你可以在构造函数中初始化,使用泛型类初始化不是一个好主意。 MagicN 其实是
Integer
标签: java generics numbers constants