获取通用数组的大小

时间:2013-09-26 07:55:39

标签: java arrays generics

我有一个像这样的通用数组:

T[] array;
array = (T[]) new Object[capacity];

我想稍后获得它的大小(它会改变)。我已经尝试了array.size(),但它引发了错误Error: Cannot invoke size() on the array type T[]。我发现了很多关于如何创建泛型数组的帖子(我知道我的方法与大多数使用Array.newInstance的方法不匹配)但没有关于使用通常可用于数组的默认方法的帖子。

感谢任何帮助。

4 个答案:

答案 0 :(得分:2)

尝试使用array.length获取属性“length”。 size()方法只适用于Collection。

答案 1 :(得分:1)

您应该向array.length属性询问数组的大小。

对你来说是坏消息 - 在你定义数组之后,数组的大小不会改变。 如果你想要一个“动态数组”尝试使用Collections框架中的东西。例如java.util.ArrayList

答案 2 :(得分:0)

array.length

如果数组的大小,则返回int的数组的属性。

如果您想要更好的列表,我会使用ArrayList,您可以在集合中使用size()方法。

答案 3 :(得分:0)

尝试

System.out.println(array.length);