【发布时间】:2013-02-21 01:29:10
【问题描述】:
我正在复习我的数据结构技能。我在网上找到了一本很棒的免费书,名为Open Data Structures in Java.。通读后,我尝试使用提供的代码创建所有声明的数据结构,以便将它们灌输到我的记忆中。
我遇到了一个“错误”,我一辈子都想不通:在 ArrayStack 的 resize() 方法中(第 2.1.2 节),有一行代码 - T[] b = newArray(Math.max(n*2,1));。这样做的重点是包含元素的数组既不会太小也不会太大。如果我使用这行代码,我会从 Eclipse 收到以下错误消息:
The method newArray(int) is undefined for the type ArrayStack<T>.
所以,我认为它一定是一个“错字”,意思是“新数组”。但是修复它会给我留下来自 Eclipse 的以下错误消息:
Type mismatch: cannot convert from Array to T[].
我不明白我错过了什么或做错了什么。 总结一下我的问题,如何声明和实例化一个新的泛型数组,尤其是在固定大小的情况下?
【问题讨论】:
标签: java arrays generics data-structures generic-programming