Java String数组:有一个大小的方法吗?

时间:2009-05-28 15:14:03

标签: java arrays string

我来自php背景,在php中,有一个array_size()函数,它告诉你数组中有多少元素被使用。

String[]数组是否有类似的方法?感谢。

11 个答案:

答案 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)

Stringarray的长度之间存在差异以澄清:

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中使用字符串和数组,您可能面临的三个基本模型是:

  1. String s = new String(“vidyasagar”);
    的System.out.println(s.length()); //在这种情况下,我们只使用 串。字符串没有长度属性。我们必须使用length() 方法
  2. int [] s = new int [10];的System.out.println(s.length); //在这里,我们 使用数组的长度属性。
  3. String [] s = new String [10];
    的System.out.println(s.length); //这里即使数据类型是 字符串,它不是单个字符串。 s是数组的引用 字符串。所以我们使用数组的长度属性来表达方式 许多字符串可以放在那个数组中。

答案 10 :(得分:1)

不是你的问题的答案,但如果你想拥有一个可以增长和缩小的数组,你就不应该在java中使用数组。您可能最好使用ArrayList或其他List实现。

然后你可以调用它上面的size()来获得它的大小。