Fork me on GitHub

.length和.length()的区别

java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性。java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法。

如何获取一个数组的长度?以及,如何获取一个字符串的长度?

1
2
3
4
5
int[] arr = new int[3];
System.out.println(arr.length);//使用length获取数组的程度
String str = "abc";
System.out.println(str.length());//使用length()获取字符串的长度

为什么数组有length属性?

数组是一个容器对象,其中包含固定数量的同一类型的值。
一旦数组被创建,他的长度就是固定的了。
数组的长度可以作为final实例变量的长度。
因此,长度可以被视为一个数组的属性。

为什么String有length()方法?

String背后的数据结构是一个char数组,所以没有必要来定义一个不必要的属性(因为该属性在char数值中已经提供了)。
和C不同的是,Java中char的数组并不等于字符串,虽然String的内部机制是char数组实现的。

注: 要想把char[]转成字符串有以下方式:

1
2
3
4
char []s = {'a','b','c'};
String string1 = s.toString();
String string2 = new String(s);
String string3 = String.valueOf(s);

Your support will encourage me to continue to create!