从Java中的length和length()开始
1、在沒(méi)有IDE自動(dòng)補(bǔ)齊的情況下,怎樣得到數(shù)組的長(zhǎng)度?怎樣得到字符串的長(zhǎng)度?
int[] arr = new int[3]; System.out.println(arr.length);//length for array String str = "abc"; System.out.println(str.length());//length() for string為什么數(shù)組有l(wèi)ength屬性而String只有l(wèi)ength()方法呢?
2、為什么Arrays有l(wèi)ength屬性?
首先,數(shù)組是一個(gè)對(duì)象容器,保存的是一系列單一類型的值;然后數(shù)組被創(chuàng)建,但是長(zhǎng)度不能被改變;數(shù)組的長(zhǎng)度可以當(dāng)成是 final 實(shí)例;因此長(zhǎng)度可以被當(dāng)成是數(shù)組的一個(gè)屬性;
創(chuàng)建數(shù)組有兩種方式:1)數(shù)組創(chuàng)建表達(dá)式;2)數(shù)組初始化創(chuàng)建。在創(chuàng)建的時(shí)候,數(shù)組的長(zhǎng)度就被指定;
在數(shù)組被創(chuàng)建的時(shí)候,就指定了數(shù)組元素的類型,數(shù)組的維度,至少一個(gè)維度的長(zhǎng)度;
int[][] arr = new int[3][];數(shù)組初始化創(chuàng)建一個(gè)數(shù)組,并為它的所有元素提供了初始值。寫成逗號(hào)分隔的表達(dá)式列表,用大括號(hào){和}括起來(lái)。
nt[] arr = {1,2,3};3、為什么沒(méi)有定義一個(gè)Array類類似String類那樣?
因?yàn)橐粋€(gè)數(shù)組就是一個(gè)對(duì)象
Object obj = new int[10];一個(gè)數(shù)組可以存儲(chǔ)所有從Object類繼承的對(duì)象,如果定義了一個(gè)Array類,它仍然需要一個(gè)數(shù)組來(lái)保存數(shù)據(jù),因此,定義一個(gè)Array是多余的,可以通過(guò)代碼得到數(shù)組的類型:
int[] arr = new int[3]; System.out.println(arr.getClass());輸出:class [I
class [I 說(shuō)明了數(shù)組運(yùn)行時(shí)的類型,同時(shí)也告訴我們數(shù)組元素的類型是int
4、為什么String類有l(wèi)ength()方法?
String類的后臺(tái)數(shù)據(jù)結(jié)構(gòu)是char數(shù)組,String類里面需要定義一個(gè)length字段,因?yàn)椴⒉皇撬袘?yīng)用程序都需要。
轉(zhuǎn)載于:https://www.cnblogs.com/lianliang/p/5329051.html
總結(jié)
以上是生活随笔為你收集整理的从Java中的length和length()开始的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电脑怎么没有u盘启动项 电脑无法在U盘上
- 下一篇: 魔兽世界 风暴峡湾铁角飞地在哪