0

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

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

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

任何帮助表示赞赏。

4

4 回答 4

2

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

于 2013-09-26T07:57:07.883 回答
1

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

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

于 2013-09-26T07:56:37.053 回答
0
array.length

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

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

于 2013-09-26T07:58:36.060 回答
0

尝试

System.out.println(array.length);
于 2013-09-26T07:58:38.243 回答