日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Java 字符串是不可變的。到底是什么意思?

瀏覽:237日期:2024-04-14 13:32:58
如何解決Java 字符串是不可變的。到底是什么意思??

在進(jìn)一步探討不變性之前,讓我們String在得出任何結(jié)論之前先了解一下類及其功能。

這是如何String工作的:

String str = 'kNowledge';

與往常一樣,這將創(chuàng)建一個(gè)包含的字符串”kNowledge”并為其指定一個(gè)reference str。很簡(jiǎn)單?讓我們執(zhí)行更多功能:

String s = str; // assigns a new reference to the same string 'kNowledge'

讓我們看看下面的語句是如何工作的:

str = str.concat(' base');

這會(huì)將一個(gè)字符串附加' base'到str。但是,等等,由于String對(duì)象是不可變的,這怎么可能呢?令你驚訝的是。

當(dāng)執(zhí)行以上語句時(shí),VM接受的值String str,即'kNowledge'和' base',為我們提供值'kNowledge base'。現(xiàn)在,由于Strings是不可變的,因此VM無法將此值分配給str,因此它創(chuàng)建了一個(gè)新String對(duì)象,為其提供了一個(gè)值'kNowledge base',并為其提供了一個(gè)引用str。

這里要注意的重要一點(diǎn)是,盡管String對(duì)象是不可變的,但其引用變量卻不是。這就是為什么在上面的示例中,引用是指新形成的String對(duì)象。

至此,在上面的示例中,我們有兩個(gè)String對(duì)象:第一個(gè)對(duì)象是我們用value創(chuàng)建的,'kNowledge'由指向s,第二個(gè)對(duì)象是'kNowledge base'由指向str。但是,從技術(shù)上講,我們有三個(gè)String對(duì)象,第三個(gè)對(duì)象'base'是concat語句中的文字。

有關(guān)字符串和內(nèi)存使用情況的重要事實(shí)如果沒有其他參考s該”kNowledge”怎么辦?我們會(huì)失去那個(gè)String。但是,它仍然存在,但由于沒有參考文獻(xiàn)而被認(rèn)為丟失。再看下面的一個(gè)例子

String s1 = 'java';s1.concat(' rules');System.out.println('s1 refers to '+s1); // Yes, s1 still refers to 'java'

發(fā)生了什么:

第一行非常簡(jiǎn)單:創(chuàng)建一個(gè)新的String 'java'并引用s1它。接下來,VM創(chuàng)建另一個(gè)new String 'java rules',但沒有任何引用。因此,第二個(gè)String瞬間丟失。我們無法達(dá)到。參考變量s1仍然引用原始變量String 'java'。

應(yīng)用于String對(duì)象以對(duì)其進(jìn)行修改的幾乎每種方法都會(huì)創(chuàng)建新String對(duì)象。那么,這些String物體在哪里呢?嗯,這些存在于內(nèi)存中,任何編程語言的主要目標(biāo)之一就是有效利用內(nèi)存。

隨著應(yīng)用程序的增長(zhǎng),文字通常String會(huì)占用很大的內(nèi)存區(qū)域,這甚至可能導(dǎo)致冗余。因此,為了提高Java的效率,JVM預(yù)留了一個(gè)特殊的內(nèi)存區(qū)域,稱為“字符串常量池”。

當(dāng)編譯器看到String文字時(shí),它將String在池中查找。如果找到匹配項(xiàng),則對(duì)新文字的引用將指向現(xiàn)有文件,String并且不會(huì)String創(chuàng)建新對(duì)象。現(xiàn)有的String只是另外一個(gè)參考。這是使String對(duì)象不可變的要點(diǎn):

在String常量池中,一個(gè)String對(duì)象可能具有一個(gè)或多個(gè)引用。如果幾個(gè)引用指向同一對(duì)象String甚至不知道它,那么如果其中一個(gè)引用修改了該String值,那將是不好的。這就是為什么String對(duì)象是不可變的。

好吧,現(xiàn)在你可以說,如果有人重寫了String類的功能怎么辦?就是這樣的原因的String類被標(biāo)記final,這樣沒有人可以凌駕于其方法的行為。

解決方法

我在不可變字符串上編寫了以下代碼。

public class ImmutableStrings { public static void main(String[] args) {testmethod(); } private static void testmethod() {String a = "a";System.out.println("a 1-->" + a);a = "ty";System.out.println("a 2-->" + a); }}

輸出:

a 1-->a a 2-->ty

此處變量的值a已更改(許多人說不能更改不可變對(duì)象的內(nèi)容)。但是,一句話到底是什么String是不變的呢?

標(biāo)簽: java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久精品导航| 欧美高清不卡| 亚洲伦乱视频| 国际精品欧美精品| 午夜久久福利| 久久蜜桃资源一区二区老牛| 国产麻豆精品| 欧美日韩精品一区二区三区视频 | 午夜在线一区二区| 麻豆免费精品视频| 国产精品尤物| 精品资源在线| 黑人精品一区| 成人va天堂| 91久久国产| 亚洲国产不卡| 日韩精品亚洲一区二区三区免费| 亚洲精品乱码| 久久麻豆视频| 日本黄色精品| 香蕉成人久久| 日韩高清一级| 久久一区视频| 亚洲黄色中文字幕| 美女久久久久久| 亚洲国产一区二区三区在线播放 | 女人av一区| 久久高清国产| 国产日韩1区| 日本不良网站在线观看| 亚洲韩日在线| 亚洲1区在线观看| 久久精品理论片| 国产美女久久| 国产高清精品二区| 伊伊综合在线| 午夜日韩av| 一区二区91| 国产精品大片| 亚洲精品中文字幕乱码| 亚洲精品黄色| 精品中文在线| 久久99伊人| 中文字幕在线高清| 日韩午夜视频在线| 婷婷综合六月| 麻豆国产精品| 日韩毛片视频| 青青青国产精品| 免费看久久久| 在线一区免费观看| 亚洲综合日本| 999久久久亚洲| 88久久精品| 欧美三级精品| 偷拍亚洲精品| 亚洲无线观看| 国产激情精品一区二区三区| 麻豆视频久久| 四季av一区二区凹凸精品| 今天的高清视频免费播放成人| 99国产精品| 日韩中出av| 欧美特黄一级| 久久国产精品免费一区二区三区| 国产日韩欧美一区二区三区| 国内精品美女在线观看| 日韩区欧美区| 亚洲精品亚洲人成在线观看| 久久91导航| 在线一区二区三区视频| 四虎精品一区二区免费| 91麻豆精品| 久久91导航| 国产视频网站一区二区三区| 日韩av自拍| 日韩欧美中文字幕电影| 国产欧美高清视频在线| 婷婷成人综合| 欧美在线日韩| 女人天堂亚洲aⅴ在线观看| 日韩一区二区三免费高清在线观看| 亚洲综合另类| 欧美日韩在线观看首页| 日韩精品国产精品| 久久国产中文字幕| 美女免费视频一区| 无码日韩精品一区二区免费| 亚洲1234区| 男女男精品网站| 99精品美女| 精品高清久久| 综合一区av| 亚洲国内欧美| 亚洲v在线看| 国产精品videossex久久发布| 亚洲深爱激情| 国产白浆在线免费观看| 欧美日韩夜夜| 免费在线视频一区| 日本精品久久| 91精品久久久久久久久久不卡| 精品国产aⅴ| 国产乱人伦丫前精品视频| 国产日韩中文在线中文字幕| 亚洲精品欧美| 国产精品香蕉| 欧美国产专区| 久久蜜桃精品| 欧美中文日韩| 日韩有吗在线观看| 青青草91视频| 亚洲精品国产日韩| 国产精品伦一区二区| 国产成人精品免费视| 日韩av网站在线观看| 蜜桃成人av| 精精国产xxxx视频在线野外| 国产一区二区精品福利地址| 黄在线观看免费网站ktv| 国产精品久久久久久久免费观看| 国产自产自拍视频在线观看| 青青草精品视频| 国产精品一页| 日韩视频一区| 婷婷精品久久久久久久久久不卡| 岛国av在线播放| 日韩天堂av| 国产精品s色| 亚洲免费成人av在线| 91精品精品| 在线手机中文字幕| 亚洲天堂1区| 日韩88av| 久久久精品久久久久久96 | 最近国产精品视频| 婷婷精品视频| 99国产精品| 亚洲精品一二| 国产成人精品一区二区免费看京 | 国产成人久久精品麻豆二区 | 久久影视一区| 伊人国产精品| caoporn视频在线| 久久黄色影视| 91九色综合| 少妇高潮一区二区三区99| 久久超级碰碰| japanese国产精品| 欧美亚洲自偷自偷| 最近高清中文在线字幕在线观看1| 久久亚洲资源中文字| 91精品婷婷色在线观看| 亚洲精品在线国产| 欧美大黑bbbbbbbbb在线| 日本91福利区| 国产一区二区三区免费在线| 免费在线欧美视频| 92国产精品| 日韩国产综合| 久久最新视频| 国产福利亚洲| 在线天堂资源www在线污| 香蕉国产精品| 宅男在线一区| 欧美日韩伊人| 午夜久久黄色| 日韩精品欧美大片| 欧美伊人影院| 美女网站视频一区| 精品入口麻豆88视频| 国产精品www994| 精品一区二区三区视频在线播放 | 欧美日本不卡高清| 精品视频国产| 午夜在线播放视频欧美| 精品国产美女a久久9999| 一区二区精彩视频| 亚洲小说欧美另类婷婷| 在线看片一区| 成人啊v在线| 久久超碰99| 久久精品女人| 日韩精品亚洲aⅴ在线影院| 你懂的亚洲视频| 蜜臀久久99精品久久久久久9| 欧美资源在线| 色爱av综合网| 精品国产欧美| 五月精品视频| 91精品精品| 国产精品普通话对白| 精品国产一区二| 国产一区二区三区四区大秀| 久久激情五月婷婷| 日韩欧美另类一区二区| 久久影视一区| 亚欧洲精品视频在线观看| 给我免费播放日韩视频| 99精品综合|