在我们平时,可能对于一些比较不常用的函数可能不太了解,在此,我将对length和length()做一个讲解。
对于length和length()我们在平时更加常用的是length,因为length对于任意的数组都可以被使用,而我们也通常用它来获取数组长度。而length()相对来说可能就用的比较少,它的作用是来读取字符串的长度,这与length有根本的区别,一个是得到数组的容量,一个是得到字符串的长度。
- length
用于基本类型数组,得到数组容量
- length()
用于String类型的字符串中,用于获取字符串的长度
需要注意的是当我们对数组分配内存时,系统就会给每个值初始化为零,所以即使你没有对已经分配对象的内存的赋值,或是没有全部赋值,使用length获取数组容量还是初始化分配的容量。
1. 数组不能越界,否则会报错,在第一次分配好内存之后,或者第一次赋值之后,他的容量就不再改变。
2.使用length并不能确定输出的容量就是其内有效值的个数,原因在于在一开始初始化时就固定了长度,而真正存储的数据可能小于它的固定容量
具体测试代码如下:
public class Test {
public static void main(String[] args){
int[] b=new int[5];//固定长度b数组长度为5
int[] a={12,3666,4566,15,12};//此次之后数组长度被固定为5
String []item={"my","your","youself","them"};
System.out.println("int 型b数组长度为:"+b.length);
for (int i=0;i<b.length;i++){
System.out.println("第"+(i+1)+"个数字为:"+b[i]);
}
System.out.println("int 型a数组长度为:"+a.length);
System.out.println("item String数组长度为:"+item.length);
for (int i=0;i<item.length;i++){
System.out.println("第"+(i+1)+"个字符长度"+item[i].length());
}
}
}
输出结果如下:
int 型b数组长度为:5
第1个数字为:0
第2个数字为:0
第3个数字为:0
第4个数字为:0
第5个数字为:0
int 型a数组长度为:5
item String数组长度为:4
第1个字符长度2
第2个字符长度4
第3个字符长度7
第4个字符长度4
关于还有不理解的,最好能自己上机测试,毕竟实践是检验真理的唯一标准,当你上机操作一遍后,对这个知识点印象也会更加深刻