phi*_*ill 151 java arrays string
我来自php背景,在php中,有一个array_size()
函数可以告诉你数组中有多少元素被使用.
String[]
数组有类似的方法吗?谢谢.
Kri*_*ris 274
是的,.length
(属性,不是方法):
String[] array = new String[10];
int size = array.length;
Run Code Online (Sandbox Code Playgroud)
jjn*_*guy 44
array.length
Run Code Online (Sandbox Code Playgroud)
它实际上是数组的最终成员,而不是方法.
Lia*_*ang 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
}
}
Run Code Online (Sandbox Code Playgroud)
产生输出:
5
12
Run Code Online (Sandbox Code Playgroud)
wil*_*ood 14
数组是对象,它们有一个长度字段.
String [] haha = {"olle","bulle"};
haha.length将是2
bru*_*nde 11
在java中有一个length
字段,您可以在任何数组上使用它来查找它的大小:
String[] s = new String[10];
System.out.println(s.length);
Run Code Online (Sandbox Code Playgroud)
如果你想要一个功能来做到这一点
Object array = new String[10];
int size = Array.getlength(array);
Run Code Online (Sandbox Code Playgroud)
如果你不知道你有什么类型的数组,例如int [],byte []或Object [],这将非常有用.
小智 5
答案是"所有人".为java数组分配固定数量的元素槽."length"属性会告诉你多少.这个数字在数组的生命周期中是不可变的.对于可调整大小的等效项,您需要一个java.util.List类 - 您可以使用size()方法查找正在使用的元素数.
然而,有"使用",然后有在使用.在类对象数组中,您可以使用其元素为空对象的元素槽,因此即使它们计入length属性,但大多数人的定义,它们都没有被使用(YMMV,取决于应用程序).没有用于返回null /非null计数的内置函数.
列表对象具有"使用中"的另一个定义.为了避免过度创建/破坏底层存储结构,这些类中通常会有一些填充.它在内部使用,但不计入返回的size()方法.如果您尝试访问这些项而不扩展List(通过添加方法),您将获得非法索引异常.
因此,对于Lists,您可以为非null,已提交元素,所有已提交元素(包括null元素)或All元素(包括当前分配的扩展空间)使用"In Use".
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
Run Code Online (Sandbox Code Playgroud)