大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線(xiàn):400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java技術(shù)知識(shí)分享,Java如何求數(shù)組的長(zhǎng)度

Java技術(shù)知識(shí)分享,Java如何求數(shù)組的長(zhǎng)度

更新時(shí)間:2020-06-01 16:38:21 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2932次

限時(shí) 1 秒鐘給出答案,來(lái)來(lái)來(lái),聽(tīng)我口令:“Java 如何獲取數(shù)組和字符串的長(zhǎng)度?length 還是 length()?”

Java技術(shù)知識(shí)分享,Java如何求數(shù)組的長(zhǎng)度

到底該用 length 還是 length(),說(shuō)真的,我當(dāng)時(shí)真有點(diǎn)吃不準(zhǔn),懷念 IDE 的代碼自動(dòng)提醒功能啊!

int[] arr = new int[4]; System.out.println(arr.length);// 獲取數(shù)組的長(zhǎng)度 String str = "沉默王二"; System.out.println(str.length());// 獲取字符串的長(zhǎng)度 

// new int[] arr = new int[4]; arr[0] = 0; arr[1] = 1; arr[2] = 2; arr[3] = 3; // {} int [] arr1 = {0, 1, 2, 3};?
Object arr2 = new int[4];?
Object arr2 = new int[4]; System.out.println(arr2.getClass()); Object arr3 = new String[4]; System.out.println(arr3.getClass());?
class [I class [Ljava.lang.String;?
public final class String? ?implements java.io.Serializable, Comparable, CharSequence {? ?/** The value is used for character storage. */? ?private final char value[]; }?
? ?/**? ?* Returns the length of this string.? ?* The length is equal to the number of Unicode? ?* code units in the string.? ?*/? ?public int length() {? ? ?return value.length;? ?}?

最后提醒一點(diǎn):萬(wàn)丈高樓平地起。一棟樓能蓋多高,一座大橋能造多長(zhǎng),重要的是它們的地基。同樣對(duì)于我們技術(shù)人員來(lái)說(shuō),基礎(chǔ)知識(shí)越扎實(shí),走得就會(huì)越遠(yuǎn)。

總結(jié)一下,Java 獲取數(shù)組長(zhǎng)度的時(shí)候用 length,獲取字符串長(zhǎng)度的時(shí)候用的是 length(),他們之間的區(qū)別我相信大家已經(jīng)搞清楚了。

length() 方法返回的正是字符數(shù)組 value 的長(zhǎng)度(length),value 本身是 private 的,因此很有必要為 String 類(lèi)提供一個(gè) public 級(jí)別的方法來(lái)供外部訪(fǎng)問(wèn)字符的長(zhǎng)度。

那為什么字符串 String 類(lèi)會(huì)有 length() 方法呢?來(lái)看一下源碼就明白了。

但這樣做真的有必要嗎?為數(shù)組單獨(dú)定義一個(gè)類(lèi),是不是有點(diǎn)畫(huà)蛇添足的意味。那既然數(shù)組沒(méi)必要定義成一個(gè)類(lèi),也就沒(méi)有必要再定義一個(gè) length() 方法來(lái)獲取數(shù)組的長(zhǎng)度了,直接用 length 這個(gè)字段就可以了,不是嗎?

一個(gè)合理的解釋是 Java 將其隱藏了。假如真的存在一個(gè) Array.java,我們也可以假想它真實(shí)的樣子,它必須要定義一個(gè)容器來(lái)存放數(shù)組的元素,就像 String 類(lèi)那樣。

那為什么數(shù)組不單獨(dú)定義一個(gè)類(lèi)來(lái)表示呢?就像字符串 String 類(lèi)那樣呢?

class [I 表示一個(gè)“int 類(lèi)型數(shù)組”在運(yùn)行時(shí)的對(duì)象類(lèi)型信息;class [Ljava.lang.String; 表示一個(gè)“字符串類(lèi)型數(shù)組”在運(yùn)行時(shí)的對(duì)象類(lèi)型信息。

輸出的結(jié)果會(huì)是什么呢?

這就意味著數(shù)組繼承了超類(lèi) java.lang.Object 的所有成員方法和字段。事實(shí)上,的確如此,我們可以通過(guò)以下代碼來(lái)獲取數(shù)組的類(lèi)型信息 Class。

由于數(shù)組也是對(duì)象,所以以下代碼是合法的。

但不管用哪種方法,數(shù)組的長(zhǎng)度是可以明確知道的。并且不會(huì)再變長(zhǎng)或者變短(學(xué)不了孫悟空的金箍棒)。

創(chuàng)建數(shù)組的方法有兩種,這個(gè)應(yīng)該大家都知道了。一種是通過(guò) new 關(guān)鍵字創(chuàng)建指定長(zhǎng)度后再賦值,另外一種是通過(guò) {} 直接進(jìn)行初始化。

首先呢,我們必須要明白:數(shù)組是一個(gè)容器,當(dāng)它被創(chuàng)建后,不僅元素的類(lèi)型是確定的,元素的個(gè)數(shù)也是確定的。換句話(huà)說(shuō),數(shù)組的長(zhǎng)度是確定的,不可能再變長(zhǎng)或者變短。因此,數(shù)組可以使用一個(gè)字段(length)來(lái)表示長(zhǎng)度。

按理說(shuō),數(shù)組和字符串都是對(duì)象,訪(fǎng)問(wèn)長(zhǎng)度都用 length() 方法就好了。為什么數(shù)組偏偏劍走偏鋒用的 length 字段呢?

Java技術(shù)知識(shí)分享,Java如何求數(shù)組的長(zhǎng)度

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java技術(shù)知識(shí)分享,Java如何求數(shù)組的長(zhǎng)度”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€(xiàn)咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产欧美日韩精品高清二区综合区 | 国产精品福利在线观看免费不卡 | www.午夜精品| 日韩一级黄色影片 | 99视频国产精品 | 天天插狠狠干 | 亚洲aⅴ久久久噜噜噜噜 | 亚洲视频在线观看 | 午夜久久久精品 | 亚洲一级成人 | 中国一级毛片aaa片 中国一级毛片录像 | 福利视频久久 | 毛片毛片毛片毛片毛片 | 成人欧美日韩 | 日日艹夜夜艹 | 亚洲欧美另类视频 | 99视频有精品 | 中文字幕三级久久久久久 | 久久久久免费观看 | 操熟美女又肥又嫩的骚屁股 | 2019亚洲日韩新视频 | 国产在线观看一区二区三区 | 国产91在线精品福利 | 天天摸天天操天天爽 | 天天拍拍天天爽免费视频 | 日韩欧美中文字幕一区 | 一级特黄一欧美俄罗斯毛片 | 日本欧美大片 | 欧美视频一级 | 日韩孕交japanese孕交 | 久久青青视频 | 久久美女精品国产精品亚洲 | 欧美成人免费网在线观看 | 日日插夜夜操 | 欧美精品一区二区三区在线播放 | 桃花福利视频在线观看 | 天天综合天天 | 九九色网站 | 国产精品资源在线观看 | 久久综合久久精品 | 国产精品1|