動(dòng)力節(jié)點(diǎn)-java常用類.doc

動(dòng)力節(jié)點(diǎn)-java常用類.doc

ID:62047221

大?。?18.50 KB

頁(yè)數(shù):16頁(yè)

時(shí)間:2021-04-16

動(dòng)力節(jié)點(diǎn)-java常用類.doc_第1頁(yè)
動(dòng)力節(jié)點(diǎn)-java常用類.doc_第2頁(yè)
動(dòng)力節(jié)點(diǎn)-java常用類.doc_第3頁(yè)
動(dòng)力節(jié)點(diǎn)-java常用類.doc_第4頁(yè)
動(dòng)力節(jié)點(diǎn)-java常用類.doc_第5頁(yè)
資源描述:

《動(dòng)力節(jié)點(diǎn)-java常用類.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、個(gè)人收集整理勿做商業(yè)用途1.綱要a)Stringb)StringBufferc)基礎(chǔ)類型對(duì)應(yīng)的8?jìng)€(gè)包裝類d)日期相關(guān)類e)數(shù)字相關(guān)類f)Randomg)Enum2.內(nèi)容1.12.1、String1.1.12.1.1、String類是不可變類,也就是說(shuō)String對(duì)象聲明后,將不可修改publicclassStringTest01{public stat(yī)icvoidmain(String[]args){???Strings1?。?a";??Strings2 =?。";???s1=s1+s2; //ab?//newString(“a”);?Syste

2、m.out.println(s1);}}個(gè)人收集整理勿做商業(yè)用途棧s1s2方法區(qū)(常量池)abab堆temp從以上內(nèi)存圖,大家可以看到,String對(duì)象賦值后不能再修改,這就是不可變對(duì)象,如果對(duì)字符串修改,那么將會(huì)創(chuàng)建新的對(duì)象注意:只要采用雙引號(hào)賦值字符串,那么在編譯期將會(huì)放到方法區(qū)中的字符串的常量池里,如果是運(yùn)行時(shí)對(duì)字符串相加或相減會(huì)放到堆中(放之前會(huì)先驗(yàn)證方法區(qū)中是否含有相同的字符串常量,如果存在,把地址返回,如果不存在,先將字符串常量放到池中,然后再返回該對(duì)象的地址)1.1.12.1.2、String s1= “abc”和Strings2=n

3、ewString(“abc”)public classStringTest02{public static voidmain(String[] args){???String s1="abc";個(gè)人收集整理勿做商業(yè)用途??Strings2= "abc";???Strings3=newString("abc");?System.out.println("s1==s2," + (s1==s2));System.out.println("s2==s3, " + (s2==s3));?System.out.println("s2equlass3,"+(s2

4、.equals(s3)));} }棧s1s2s3方法區(qū)(常量池)abc堆a(bǔ)bc個(gè)人收集整理勿做商業(yè)用途l如果是采用雙引號(hào)引起來(lái)的字符串常量,首先會(huì)到常量池中去查找,如果存在就不再分配,如果不存在就分配,常量池中的數(shù)據(jù)是在編譯期賦值的,也就是生成class文件時(shí)就把它放到常量池里了,所以s1和s2都指向常量池中的同一個(gè)字符串“abc”l關(guān)于s3,s3采用的是new的方式,在new的時(shí)候存在雙引號(hào),所以他會(huì)到常量區(qū)中查找“abc”,而常量區(qū)中存在“abc”,所以常量區(qū)中將不再放置字符串,而new關(guān)鍵子會(huì)在堆中分配內(nèi)存,所以在堆中會(huì)創(chuàng)建一個(gè)對(duì)象abc,s

5、3會(huì)指向abcl如果比較s2和s3的值必須采用equals,String已經(jīng)對(duì)eqauls方法進(jìn)行了覆蓋1.1.12.1.3、String面試題分析String s1 =newString("hello");String?。螅?newString("hello");以上代碼創(chuàng)建了幾個(gè)對(duì)象?棧s1s2堆hellohello方法區(qū)(常量池)hello通過(guò)以上分析,大家會(huì)看到創(chuàng)建了5個(gè)對(duì)象,堆區(qū)中2個(gè),常量池中1一個(gè),棧區(qū)2個(gè)通過(guò)以上分析,使用String時(shí),不建議使用new關(guān)鍵字,因?yàn)槭褂胣ew會(huì)創(chuàng)建兩個(gè)對(duì)象記住:堆區(qū)中是運(yùn)行期分配的,常量池中是編譯器

6、分配的個(gè)人收集整理勿做商業(yè)用途1.1.12.1.4、String常用方法簡(jiǎn)介1.endsWith:判斷字符串是否以指定的后綴結(jié)束2.startsWith,判斷字符串是否以指定的前綴開(kāi)始3.equals,字符串相等比較,不忽略大小寫4.equalsIgnoreCase,字符串相等比較,忽略大小寫5.indexOf,取得指定字符在字符串的位置6.lastIndexOf,返回最后一次字符串出現(xiàn)的位置7.length,取得字符串的長(zhǎng)度8.replaceAll,替換字符串中指定的內(nèi)容9.split,根據(jù)指定的表達(dá)式拆分字符串10.substring,截子串1

7、1.trim,去前尾空格12.valueOf,將其他類型轉(zhuǎn)換成字符串1.1.22.1.5、使用String時(shí)的注意事項(xiàng)因?yàn)镾tring是不可變對(duì)象,如果多個(gè)字符串進(jìn)行拼接,將會(huì)形成多個(gè)對(duì)象,這樣可能會(huì)造成內(nèi)存溢出,會(huì)給垃圾回收帶來(lái)工作量,如下面的應(yīng)用最好不要用String【代碼示例】public class StringTest04{?public static voidmain(String[] args){?Strings= "";?for(inti=0;i<100;i++){//以下語(yǔ)句會(huì)生成大量的對(duì)象?//因?yàn)镾tring是不可變對(duì)象??/

8、/存在大量的對(duì)象相加或相減一般不建議使用String?//建議使用StringBuffer或StringBuilders+

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。