在漫無邊際的代碼世界里,對我們的要求不僅僅只是一種語言的可能,當然語言和語言直接,同樣有一些長得很像的,看上去一樣的,今天寫一下 length 和length(),
不知道大家小時候有沒有看過燕子媽媽讓小燕子去看冬瓜和茄子之間區別的故事,今天我們就按照這個故事的內容聊一聊,
一個有括號,一個沒有括號
沒有錯!
length 是屬性!
int arr[] =new int[]{2,3,4};
int len= arr.length;
System.out.println(len);
是陣列的屬性 ,用來獲得陣列的長度
注:陣列的長度和下標是有區別的哦!
length() 是方法!
String str = "要好好寫代碼";
str.length();
System.out.println(str.length());
是字串的的方法,但是字串為什么不直接加這個屬性呢,原因是字串的底層是由char()陣列構成的,如果在加同樣的屬性,是不是有點多此一舉了呢?
幫助檔案內容如下:
String類代表字串, Java程式中的所有字串文字(例如"abc" )都被實作為此類的實體,
字串不變; 它們的值在創建后不能被更改, 字串緩沖區支持可變字串, 因為String物件是不可變的,它們可以被共享, 例如:
String str = "abc";
相當于:
char data[] = {'a', 'b', 'c'};
String str = new String(data);
幫助檔案內容如下:
-
-
-
public int length()
回傳此字串的長度, 長度等于字串中的數字Unicode code units ,
Specified by:
length在界面CharSequence結果
由該物件表示的字符序列的長度,
-
-
java中如上所說!
而在JavaScript中
var str ='今天心情同樣很好哦';
console.log(str.length);
length同樣可以獲取字串的長度,還可以
var arr= [];
console.log(arr.length);
獲取陣列的長度;
但是JavaScript中陣列可以通過arr.length =100; 來實作陣列擴容,擴容未賦值的話就是undefined哦,
說到這里小伙伴或許還可以想到java中size()的方法,
List<String>list = new ArrayList<>();
list.add("集");
list.add("合");
System.out.println("集合的長度是:"+list.size());
看一下原始碼
private final E[] a;
ArrayList(E[] array) {
if (array==null)
throw new NullPointerException();
a = array;
}
public int size() {
return a.length;
}
可以看出來底層依然是陣列,最后還是通過length屬性來完成,
最后總結一下咯
length 不是方法不是方法不是方法 是屬性
length() 是獲取字串長度的方法
size() 是獲取集合泛型數量的方法
望謹記!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/300772.html
標籤:其他
上一篇:Java專案:在線美食網站系統(java+SSM+jsp+mysql+maven)
下一篇:Vue_Music練習專案總結
