我有一个像这样的通用数组:
T[] array;
array = (T[]) new Object[capacity];
我想稍后获得它的大小(它会改变)。我已经尝试了array.size()
,但它引发了错误Error: Cannot invoke size() on the array type T[]
。我发现了很多关于如何创建泛型数组的帖子(我知道我的方法与大多数使用Array.newInstance
的方法不匹配)但没有关于使用通常可用于数组的默认方法的帖子。
感谢任何帮助。
答案 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);