我来自php背景,在php中,有一个array_size()
函数,它告诉你数组中有多少元素被使用。
String[]
数组是否有类似的方法?感谢。
答案 0 :(得分:266)
是的,.length
(属性,不是方法):
String[] array = new String[10];
int size = array.length;
答案 1 :(得分:44)
array.length
它实际上是数组的最终成员,而不是方法。
答案 2 :(得分:19)
另外,注意如果你有一个多维数组可能很有用,你可以通过在你要查询的数组上附加'[0]'来获得相应的维度,直到你到达适当的轴/元组/尺寸。
使用以下代码可能更好地解释了这一点:
public class Test {
public static void main(String[] args){
String[][] moo = new String[5][12];
System.out.println(moo.length); //Prints the size of the First Dimension in the array
System.out.println(moo[0].length);//Prints the size of the Second Dimension in the array
}
}
产生输出:
5
12
答案 3 :(得分:15)
array.length最终属性
它是公共和最终财产。这是最终的,因为Java中的数组是按大小不可变的(但可以通过元素的值来改变)
答案 4 :(得分:14)
数组是对象,它们有一个长度字段。
String [] haha = {“olle”,“bulle”};
haha.length将是2
答案 5 :(得分:11)
在java中有一个length
字段,您可以在任何数组上使用它来查找它的大小:
String[] s = new String[10];
System.out.println(s.length);
答案 6 :(得分:8)
如果你想要一个功能来做这个
Object array = new String[10];
int size = Array.getlength(array);
如果你不知道你有什么类型的数组,这可能很有用。 int [],byte []或Object []。
答案 7 :(得分:5)
答案是“所有人”。为java数组分配固定数量的元素槽。 “length”属性会告诉你多少。这个数字在数组的生命周期中是不可变的。对于可调整大小的等效项,您需要一个java.util.List类 - 您可以使用size()方法查找正在使用的元素数。
但是,有“正在使用”,然后是使用中。在类对象数组中,您可以使用其元素为空对象的元素槽,因此即使它们计入length属性,但大多数人的定义,它们都没有被使用(YMMV,取决于应用程序)。没有用于返回空/非空计数的内置函数。
列表对象还有另一个“使用中”的定义。为了避免过度创建/破坏底层存储结构,这些类中通常会有一些填充。它在内部使用,但不计入返回的size()方法。如果您尝试访问这些项而不扩展List(通过添加方法),您将获得非法的索引异常。
因此,对于Lists,您可以为非空,已提交元素,所有已提交元素(包括空元素)或所有元素(包括当前分配的扩展空间)使用“使用中”。
答案 8 :(得分:4)
String
和array
的长度之间存在差异以澄清:
int a[] = {1, 2, 3, 4};
String s = "1234";
a.length //gives the length of the array
s.length() //gives the length of the string
答案 9 :(得分:2)
以上所有答案都是正确的。要注意的重要一点是数组有长度属性但不是长度方法。无论何时在java中使用字符串和数组,您可能面临的三个基本模型是:
答案 10 :(得分:1)
不是你的问题的答案,但如果你想拥有一个可以增长和缩小的数组,你就不应该在java中使用数组。您可能最好使用ArrayList或其他List实现。
然后你可以调用它上面的size()来获得它的大小。