亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 0118.htm

?? 關(guān)于java的開發(fā)文檔
?? HTM
?? 第 1 頁 / 共 4 頁
字號:
579頁中程序<br>
<br>
可以想象出它“可能”是如何工作的:字串&quot;abc&quot;可以有一個方法append(),它新建了一個字串,其中包含&quot;abc&quot;以及foo的內(nèi)容;這個新字串然后再創(chuàng)建另一個新字串,在其中添加&quot;def&quot;;以此類推。<br>
這一設(shè)想是行得通的,但它要求創(chuàng)建大量字串對象。盡管最終的目的只是獲得包含了所有內(nèi)容的一個新字串,但中間卻要用到大量字串對象,而且要不斷地進行垃圾收集。我懷疑Java的設(shè)計者是否先試過種方法(這是軟件開發(fā)的一個教訓(xùn)——除非自己試試代碼,并讓某些東西運行起來,否則不可能真正了解系統(tǒng))。我還懷疑他們是否早就發(fā)現(xiàn)這樣做獲得的性能是不能接受的。<br>
解決的方法是象前面介紹的那樣制作一個可變的同志類。對字串來說,這個同志類叫作StringBuffer,編譯器可以自動創(chuàng)建一個StringBuffer,以便計算特定的表達式,特別是面向String對象應(yīng)用覆蓋過的運算符+和+=時。下面這個例子可以解決這個問題:<br>
<br>
580頁程序<br>
<br>
創(chuàng)建字串s時,編譯器做的工作大致等價于后面使用sb的代碼——創(chuàng)建一個StringBuffer,并用append()將新字符直接加入StringBuffer對象(而不是每次都產(chǎn)生新對象)。盡管這樣做更有效,但不值得每次都創(chuàng)建象&quot;abc&quot;和&quot;def&quot;這樣的引號字串,編譯器會把它們都轉(zhuǎn)換成String對象。所以盡管StringBuffer提供了更高的效率,但會產(chǎn)生比我們希望的多得多的對象。<br>
<br>
12.4.4 String和StringBuffer類<br>
這里總結(jié)一下同時適用于String和StringBuffer的方法,以便對它們相互間的溝通方式有一個印象。這些表格并未把每個單獨的方法都包括進去,而是包含了與本次討論有重要關(guān)系的方法。那些已被覆蓋的方法用單獨一行總結(jié)。<br>
首先總結(jié)String類的各種方法:<br>
<br>
方法 自變量,覆蓋 用途<br>
<br>
構(gòu)建器 已被覆蓋:默認,String,StringBuffer,char數(shù)組,byte數(shù)組 創(chuàng)建String對象<br>
length() 無 String中的字符數(shù)量<br>
charAt() int Index 位于String內(nèi)某個位置的char<br>
getChars(),getBytes 
開始復(fù)制的起點和終點,要向其中復(fù)制內(nèi)容的數(shù)組,對目標(biāo)數(shù)組的一個索引 
將char或byte復(fù)制到外部數(shù)組內(nèi)部<br>
toCharArray() 無 產(chǎn)生一個char[],其中包含了String內(nèi)部的字符<br>
equals(),equalsIgnoreCase() 用于對比的一個String 
對兩個字串的內(nèi)容進行等價性檢查<br>
compareTo() 用于對比的一個String 結(jié)果為負、零或正,具體取決于String和自變量的字典順序。注意大寫和小寫不是相等的!<br>
regionMatches() 這個String以及其他String的位置偏移,以及要比較的區(qū)域長度。覆蓋加入了“忽略大小寫”的特性 
一個布爾結(jié)果,指出要對比的區(qū)域是否相同<br>
startsWith() 可能以它開頭的String。覆蓋在自變量里加入了偏移 
一個布爾結(jié)果,指出String是否以那個自變量開頭<br>
endsWith() 可能是這個String后綴的一個String 
一個布爾結(jié)果,指出自變量是不是一個后綴<br>
indexOf(),lastIndexOf() 已覆蓋:char,char和起始索引,String,String和起始索引 
若自變量未在這個String里找到,則返回-1;否則返回自變量開始處的位置索引。lastIndexOf()可從終點開始回溯搜索<br>
substring() 已覆蓋:起始索引,起始索引和結(jié)束索引 返回一個新的String對象,其中包含了指定的字符子集<br>
concat() 想連結(jié)的String 返回一個新String對象,其中包含了原始String的字符,并在后面加上由自變量提供的字符<br>
relpace() 要查找的老字符,要用它替換的新字符 返回一個新String對象,其中已完成了替換工作。若沒有找到相符的搜索項,就沿用老字串<br>
toLowerCase(),toUpperCase() 無 返回一個新String對象,其中所有字符的大小寫形式都進行了統(tǒng)一。若不必修改,則沿用老字串<br>
trim() 無 返回一個新的String對象,頭尾空白均已刪除。若毋需改動,則沿用老字串<br>
valueOf() 已覆蓋:object,char[],char[]和偏移以及計數(shù),boolean,char,int,long,float,double 
返回一個String,其中包含自變量的一個字符表現(xiàn)形式<br>
Intern() 無 為每個獨一無二的字符順序都產(chǎn)生一個(而且只有一個)String句柄<br>
<br>
可以看到,一旦有必要改變原來的內(nèi)容,每個String方法都小心地返回了一個新的String對象。另外要注意的一個問題是,若內(nèi)容不需要改變,則方法只返回指向原來那個String的一個句柄。這樣做可以節(jié)省存儲空間和系統(tǒng)開銷。<br>
下面列出有關(guān)StringBuffer(字串緩沖)類的方法:<br>
<br>
方法 自變量,覆蓋 用途<br>
<br>
構(gòu)建器 已覆蓋:默認,要創(chuàng)建的緩沖區(qū)長度,要根據(jù)它創(chuàng)建的String 
新建一個StringBuffer對象<br>
toString() 無 根據(jù)這個StringBuffer創(chuàng)建一個String<br>
length() 無 StringBuffer中的字符數(shù)量<br>
capacity() 無 返回目前分配的空間大小<br>
ensureCapacity() 用于表示希望容量的一個整數(shù) 使StringBuffer容納至少希望的空間大小<br>
setLength() 用于指示緩沖區(qū)內(nèi)字串新長度的一個整數(shù) 
縮短或擴充前一個字符串。如果是擴充,則用null值填充空隙<br>
charAt() 表示目標(biāo)元素所在位置的一個整數(shù) 
返回位于緩沖區(qū)指定位置處的char<br>
setCharAt() 代表目標(biāo)元素位置的一個整數(shù)以及元素的一個新char值 
修改指定位置處的值<br>
getChars() 
復(fù)制的起點和終點,要在其中復(fù)制的數(shù)組以及目標(biāo)數(shù)組的一個索引 
將char復(fù)制到一個外部數(shù)組。和String不同,這里沒有g(shù)etBytes()可供使用<br>
append() 已覆蓋:Object,String,char[],特定偏移和長度的char[],boolean,char,int,long,float,double 
將自變量轉(zhuǎn)換成一個字串,并將其追加到當(dāng)前緩沖區(qū)的末尾。若有必要,同時增大緩沖區(qū)的長度<br>
insert() 已覆蓋,第一個自變量代表開始插入的位置:Object,String,char[],boolean,char,int,long,float,double 
第二個自變量轉(zhuǎn)換成一個字串,并插入當(dāng)前緩沖區(qū)。插入位置在偏移區(qū)域的起點處。若有必要,同時會增大緩沖區(qū)的長度<br>
reverse() 無 反轉(zhuǎn)緩沖內(nèi)的字符順序<br>
<br>
最常用的一個方法是append()。在計算包含了+和+=運算符的String表達式時,編譯器便會用到這個方法。insert()方法采用類似的形式。這兩個方法都能對緩沖區(qū)進行重要的操作,不需要另建新對象。<br>
<br>
12.4.5 字串的特殊性<br>
現(xiàn)在,大家已知道String類并非僅僅是Java提供的另一個類。String里含有大量特殊的類。通過編譯器和特殊的覆蓋或過載運算符+和+=,可將引號字符串轉(zhuǎn)換成一個String。在本章中,大家已見識了剩下的一種特殊情況:用同志StringBuffer精心構(gòu)造的“不可變”能力,以及編譯器中出現(xiàn)的一些有趣現(xiàn)象。<br>
<br>
12.5 總結(jié)<br>
由于Java中的所有東西都是句柄,而且由于每個對象都是在內(nèi)存堆中創(chuàng)建的——只有不再需要的時候,才會當(dāng)作垃圾收集掉,所以對象的操作方式發(fā)生了變化,特別是在傳遞和返回對象的時候。舉個例子來說,在C和C++中,如果想在一個方法里初始化一些存儲空間,可能需要請求用戶將那片存儲區(qū)域的地址傳遞進入方法。否則就必須考慮由誰負責(zé)清除那片區(qū)域。因此,這些方法的接口和對它們的理解就顯得要復(fù)雜一些。但在Java中,根本不必關(guān)心由誰負責(zé)清除,也不必關(guān)心在需要一個對象的時候它是否仍然存在。因為系統(tǒng)會為我們照料一切。我們的程序可在需要的時候創(chuàng)建一個對象。而且更進一步地,根本不必擔(dān)心那個對象的傳輸機制的細節(jié):只需簡單地傳遞句柄即可。有些時候,這種簡化非常有價值,但另一些時候卻顯得有些多余。<br>
可從兩個方面認識這一機制的缺點:<br>
(1) 
肯定要為額外的內(nèi)存管理付出效率上的損失(盡管損失不大),而且對于運行所需的時間,總是存在一絲不確定的因素(因為在內(nèi)存不夠時,垃圾收集器可能會被強制采取行動)。對大多數(shù)應(yīng)用來說,優(yōu)點顯得比缺點重要,而且部分對時間要求非常苛刻的段落可以用native方法寫成(參見附錄A)。<br>
(2) 
別名處理:有時會不慎獲得指向同一個對象的兩個句柄。只有在這兩個句柄都假定指向一個“明確”的對象時,才有可能產(chǎn)生問題。對這個問題,必須加以足夠的重視。而且應(yīng)該盡可能地“克隆”一個對象,以防止另一個句柄被不希望的改動影響。除此以外,可考慮創(chuàng)建“不可變”對象,使它的操作能返回同種類型或不同種類型的一個新對象,從而提高程序的執(zhí)行效率。但千萬不要改變原始對象,使對那個對象別名的其他任何方面都感覺不出變化。<br>
<br>
有些人認為Java的克隆是一個笨拙的家伙,所以他們實現(xiàn)了自己的克隆方案(注釋⑤),永遠杜絕調(diào)用Object.clone()方法,從而消除了實現(xiàn)Cloneable和捕獲CloneNotSupportException違例的需要。這一做法是合理的,而且由于clone()在Java標(biāo)準(zhǔn)庫中很少得以支持,所以這顯然也是一種“安全”的方法。只要不調(diào)用Object.clone(),就不必實現(xiàn)Cloneable或者捕獲違例,所以那看起來也是能夠接受的。<br>
<br>
⑤:Doug Lea特別重視這個問題,并把這個方法推薦給了我,他說只需為每個類都創(chuàng)建一個名為duplicate()的函數(shù)即可。<br>
<br>
Java中一個有趣的關(guān)鍵字是byvalue(按值),它屬于那些“保留但未實現(xiàn)”的關(guān)鍵字之一。在理解了別名和克隆問題以后,大家可以想象byvalue最終有一天會在Java中用于實現(xiàn)一種自動化的本地副本。這樣做可以解決更多復(fù)雜的克隆問題,并使這種情況下的編寫的代碼變得更加簡單和健壯。<br>
<br>
12.6 練習(xí)<br>
(1) 創(chuàng)建一個myString類,在其中包含了一個String對象,以便用在構(gòu)建器中用構(gòu)建器的自變量對其進行初始化。添加一個toString()方法以及一個concatenate()方法,令其將一個String對象追加到我們的內(nèi)部字串。在myString中實現(xiàn)clone()。創(chuàng)建兩個static方法,每個都取得一個myString 
x句柄作為自己的自變量,并調(diào)用x.concatenate(&quot;test&quot;)。但在第二個方法中,請首先調(diào)用clone()。測試這兩個方法,觀察它們不同的結(jié)果。<br>
(2) 創(chuàng)建一個名為Battery(電池)的類,在其中包含一個int,用它表示電池的編號(采用獨一無二的標(biāo)識符的形式)。接下來,創(chuàng)建一個名為Toy的類,其中包含了一個Battery數(shù)組以及一個toString,用于打印出所有電池。為Toy寫一個clone()方法,令其自動關(guān)閉所有Battery對象。克隆Toy并打印出結(jié)果,完成對它的測試。<br>
(3) 修改CheckCloneable.java,使所有clone()方法都能捕獲CloneNotSupportException違例,而不是把它直接傳遞給調(diào)用者。<br>
(4) 修改Compete.java,為Thing2和Thing4類添加更多的成員對象,看看自己是否能判斷計時隨復(fù)雜性變化的規(guī)律——是一種簡單的線性關(guān)系,還是看起來更加復(fù)雜。<br>
(5) 從Snake.java開始,創(chuàng)建Snake的一個深層復(fù)制版本。</p>

  </table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区中文在线观看| 欧美一区二区免费观在线| 国产欧美日韩精品一区| 国产精品综合在线视频| 国产欧美精品一区| www.成人在线| 一区二区三区四区激情| 欧美精品色一区二区三区| 午夜伊人狠狠久久| 欧美电视剧免费全集观看| 国内精品久久久久影院一蜜桃| 337p粉嫩大胆色噜噜噜噜亚洲| 国产91色综合久久免费分享| 国产精品久久久久久久裸模| 在线视频亚洲一区| 三级久久三级久久久| 精品少妇一区二区三区视频免付费| 国产又粗又猛又爽又黄91精品| 欧美激情一区二区三区在线| 91浏览器在线视频| 日韩 欧美一区二区三区| 欧美va亚洲va| 91香蕉国产在线观看软件| 丝袜a∨在线一区二区三区不卡| 日韩欧美电影一区| 99久精品国产| 美女视频第一区二区三区免费观看网站| 精品日韩一区二区| 99久久久久久99| 日本免费新一区视频| 日本一区二区视频在线| 色成年激情久久综合| 久久国产乱子精品免费女| 国产精品久久综合| 91精品国产综合久久婷婷香蕉| 国产乱码精品一区二区三| 韩国成人福利片在线播放| 国产欧美精品一区| 欧美人伦禁忌dvd放荡欲情| 狠狠久久亚洲欧美| 亚洲午夜激情网页| 国产偷国产偷精品高清尤物 | 日韩国产在线观看| 国产欧美综合在线| 欧美一区二区免费观在线| 91在线观看地址| 韩国视频一区二区| 亚洲高清视频的网址| 国产精品久久一级| 久久综合一区二区| 欧美精品视频www在线观看| 不卡的看片网站| 久久99久久久欧美国产| 一二三区精品视频| 国产欧美日韩麻豆91| 精品少妇一区二区| 7777精品伊人久久久大香线蕉的 | 香蕉久久一区二区不卡无毒影院 | 亚洲欧美日韩小说| 久久综合色婷婷| 欧美精品精品一区| 欧美日韩一区二区在线观看视频| 成人午夜在线播放| 国产ts人妖一区二区| 黄色成人免费在线| 经典三级在线一区| 麻豆91在线观看| 老司机免费视频一区二区| 亚洲成人av中文| 亚洲午夜激情av| 亚洲成人免费电影| 亚洲综合色噜噜狠狠| 中文字幕在线观看不卡| 久久久久久久久久久电影| 粉嫩一区二区三区在线看| 免费成人美女在线观看.| 亚洲精品你懂的| 久久伊99综合婷婷久久伊| 欧美一区二区在线不卡| 欧美亚洲国产一卡| 99久久精品久久久久久清纯| 日韩av中文字幕一区二区| 亚洲精品中文字幕乱码三区| 国产精品水嫩水嫩| 久久看人人爽人人| 精品成人在线观看| 欧美精品粉嫩高潮一区二区| 91久久一区二区| 91免费视频大全| 99re视频精品| 成人午夜伦理影院| a美女胸又www黄视频久久| 国产伦精品一区二区三区免费| 一级女性全黄久久生活片免费| 欧美日韩精品一区二区天天拍小说 | 午夜成人免费电影| 一区二区三区在线观看国产| 日本一区二区三级电影在线观看 | 成人激情视频网站| 国产精品乡下勾搭老头1| 亚洲最新视频在线观看| 亚洲mv大片欧洲mv大片精品| 亚洲免费看黄网站| 日韩伦理电影网| 日韩久久一区二区| 中文字幕一区在线观看视频| 亚洲少妇屁股交4| 中文字幕免费不卡| 亚洲一区欧美一区| 丝袜诱惑亚洲看片| 捆绑调教美女网站视频一区| 久久精品国产99| 国产真实乱偷精品视频免| 国产精品一区在线观看乱码| 日韩高清电影一区| 成人性生交大片免费看中文网站| 成人晚上爱看视频| 99精品在线免费| 欧美午夜片在线看| 欧美大片在线观看| 欧美激情一区二区三区四区| 亚洲伦理在线精品| 日韩av在线发布| 国产传媒一区在线| 91久久香蕉国产日韩欧美9色| 欧美亚洲动漫精品| 日韩欧美一级二级三级| 国产欧美日韩中文久久| 亚洲欧美日韩成人高清在线一区| 亚洲观看高清完整版在线观看| 蜜臀精品久久久久久蜜臀| 极品少妇一区二区三区精品视频 | 91精品国产色综合久久ai换脸 | 亚洲嫩草精品久久| 天堂蜜桃91精品| 国产在线一区观看| 在线一区二区三区做爰视频网站| 在线日韩av片| 精品裸体舞一区二区三区| 中文字幕成人在线观看| 亚洲成人久久影院| 粉嫩一区二区三区在线看| 欧美日韩日本视频| 国产欧美精品区一区二区三区 | 欧美va亚洲va在线观看蝴蝶网| 国产精品国产三级国产普通话蜜臀 | 亚洲精品视频在线观看免费| 麻豆91精品视频| 成人黄色小视频| 日韩精品专区在线| 亚洲精品国产成人久久av盗摄 | 亚洲女同女同女同女同女同69| 视频在线观看国产精品| 成人免费高清视频| 日韩一区二区免费在线观看| 国产精品久久久99| 久久99精品久久久久婷婷| 色综合中文综合网| 一本久久精品一区二区| 26uuu另类欧美亚洲曰本| 亚洲午夜成aⅴ人片| 国产精品18久久久久久久久| 3d成人动漫网站| 亚洲精品你懂的| av在线不卡观看免费观看| 欧美国产精品v| 久久精品国产第一区二区三区| 色拍拍在线精品视频8848| 国产日韩视频一区二区三区| 图片区日韩欧美亚洲| 色综合久久中文综合久久97| 久久久亚洲精华液精华液精华液| 亚洲国产色一区| 成人免费电影视频| 国产精品久久久久久久久图文区| 精品综合久久久久久8888| 欧美久久一二三四区| 亚洲一区二区三区美女| 91网站在线播放| 国产精品久久免费看| 午夜成人免费视频| 欧美亚洲综合另类| 亚洲日本欧美天堂| 91麻豆6部合集magnet| 中文字幕亚洲欧美在线不卡| 麻豆精品视频在线观看视频| 88在线观看91蜜桃国自产| 五月激情丁香一区二区三区| 在线观看欧美精品| 亚洲综合色噜噜狠狠| 99久久精品国产观看| 久久久www成人免费毛片麻豆| 激情国产一区二区| 制服视频三区第一页精品| 午夜精品在线看| 91精品国产美女浴室洗澡无遮挡| 亚洲国产视频在线| 91精品国产色综合久久久蜜香臀| 亚洲精品国产a久久久久久| 欧美一区二区视频免费观看|