【发布时间】:2022-01-17 05:28:53
【问题描述】:
我有泛型类型,构造函数中提供了Class<T> 对象。我想在这个构造函数中创建二维数组T[][],这可能吗?
【问题讨论】:
-
不在 Java 中,仅在具有运行时泛型的语言中,如 C#。考虑擦除。
-
请发布您正在考虑使用的构造函数的特定签名。这可能是可能的,但不清楚你在问什么。
-
是的,您可以使用 Array.newInstance()。见stackoverflow.com/questions/529085/…。我会标记为重复,但我没有标记,有人可以解决这个问题吗?
-
@JasonC 这并不完全是重复的,因为这是在询问二维数组,而您链接的问题似乎没有谈论创建多维实例,这可能会导致有人认为它仅适用于一维,因此需要比实际更复杂的过程。
-
它作为副本被关闭,尽管我现在不同意上面@JAB的cmets。之前在此处发布的其他一些答案(现已删除)表明缺乏对链接问题中描述的 1D 案例可以扩展到 2D 的理解 - 正是上述 JAB 的情况。我试图在我的回答中证明这一点。我实际上觉得应该重新打开这个问题,并将另一个问题标记为 this 的重复问题,因为这是一个更普遍的情况。
标签: java arrays class generics