1. 定義區別
Java中String類可以用來定義字符串數組和字符串對象,
- length()方法:是針對字符串來說的,用來求String字符串對象的長度,即字符串對象中字符的個數
- length屬性:是針對數組來說的,用來求數組的長度,即數組中有多少個元素。對於String類型的數組即字符串數組,用來求字符串數組的長度,即字符串數組中有多少個字符串對象。
- size()方法:是針對泛型集合說的, 用來求泛型中有多少個元素。
2. 用法區別
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String []args) {
String s = "Hello world, I am Jane";
int l1 = s.length();
String[] sarray = {"Hello","world",",","I","am","Jane"};
int l2 = sarray.length;
int l3 = sarray[0].length();
int[] iarray = new int[3];
int l4 = iarray.length;
List<String> list = new ArrayList<String>();
list.add(s);
list.add(sarray[0]);
int l5 = list.size();
System.out.println("字符串s的長度:" + l1);
System.out.println("字符串數組sarray的長度:" + l2);
System.out.println("字符串數組sarray第一個元素的長度:" + l3);
System.out.println("整型數組iarray的長度:" + l4);
System.out.println("list中元素個數:" + l5);
}
}
輸出結果爲:
字符串s的長度:22
字符串數組sarray的長度:6
字符串數組sarray第一個元素的長度:5
整型數組iarray的長度:3
list中元素個數:2
l1:求String字符串對象 s 的長度,即字符串對象 s 中字符的個數爲22。,即字符串數組中有多少個字符串。
l2:求String字符串數組 sarray 的長度,即字符串數組 sarray 包含6個元素,即6個字符串對象。
l3:求字符串數組 sarray 中第一個元素 sarray[0] 也就是 Hello 的長度。
l4:求整型數組 iarray 包含多少元素。
l5:求list中元素個數。
3. 原因
-
爲什麼數組有length屬性?
數組是一個容器對象,其中包含固定數量的同一類型的值。一旦數組被創建,長度就固定了。所以,長度是數組的一個屬性。 -
爲什麼字符串有length()方法?
String 背後的數據結構是一個char數組,所以沒有必要來定義一個不必要的屬性,因爲該屬性在char數組中已經提供了。