九九久久精品一区_国模叶桐国产精品一区_亚洲一品av免费观看_国产精品第10页_97色在线播放视频_性欧美激情精品_欧美高清视频在线观看_午夜精品福利电影_亚洲国产天堂久久国产91_亚洲三级黄色在线观看_亚洲综合最新在线_国产99久久精品一区二区永久免费_久久影视电视剧免费网站_国产亚洲精品日韩_国产精品美女久久久久久免费_北条麻妃一区二区三区中文字幕

Skip to main content
 首頁 » 風土人情

有關JavaString的剖析有什么?

2022年05月24日 14:03:4770

??起因:

String a=Hello World!;

String b=Hello World!;

a=b?

a和b是否相等? 為什么?

String a=new String(Hello World!);

String b=Hello World!;

a=b?

a和b是否相等 ? 為什么?

解釋:

1。
?? 首先String不屬于8種基本數據類型,String是一個對象。

因為對象的默認值是null,所以String的默認值也是null;但它又是一種特殊的對象,有其它對象沒有的一些特性。

2。 new String()和new String(“”)都是申明一個新的空字符串,是空串不是null;

3。
?? String str=kvill;

String str=new String (“kvill”);的區別:

在這里,我們不談堆,也不談棧,只先簡單引入常量池這個簡單的概念。

常量池(constant pool)指的是在編譯期被確定,并被保存在已編譯的。
??class文件中的

一些數據。它包括了關于類、方法、接口等中的常量,也包括字符串常量。

看例1:

String s0=kvill;

String s1=kvill;

String s2=kv + ill;

System。
??out。println( s0==s1 );

System。out。println( s0==s2 );

結果為:

true

true

首先,我們要知道Java會確保一個字符串常量只有一個拷貝。

因為例子中的s0和s1中的”kvill”都是字符串常量,它們在編譯期就被確定了,所以

s0==s1為true;而”kv”和”ill”也都是字符串常量,當一個字符串由多個字符串常量連

接而成時,它自己肯定也是字符串常量,所以s2也同樣在編譯期就被解析為一個字符串常量,所以s2也是常量池中”kvill”的一個引用。
??所以我們得出s0==s1==s2;

用new String() 創建的字符串不是常量,不能在編譯期就確定,所以new String()

創建的字符串不放入常量池中,它們有自己的地址空間。

看例2:

String s0=kvill;

String s1=new String(kvill);

String s2=kv+ new String(ill);

System。
??out。println( s0==s1 );

System。out。println( s0==s2 );

System。out。println( s1==s2 );

結果為:

false

false

false

例2中s0還是常量池中”kvill”的應用,s1因為無法在編譯期確定,所以是運行時創

建的新對象”kvill”的引用,s2因為有后半部分new String(“ill”)所以也無法在編譯

期確定,所以也是一個新創建對象”kvill”的應用;明白了這些也就知道為何得出此結果了。
??

4。 String。intern():

再 補充介紹一點:存在于。class文件中的常量池,在運行期被JVM裝載,并且可以擴充。String的intern()方法就是擴充常量池的一個方法; 當一個String實例str調用intern()方法時,Java查找常量池中是否有相同Unicode的字符串常量,如果有,則返回其的引用,如果沒有,則在常量池中增加一個Unicode等于str的字符串并返回它的引用;看例3就清楚了。
??

例3:

String s0= kvill;

String s1=new String(kvill);

String s2=new String(kvill);

System。out。println( s0==s1 );

System。
??out。println( “**********” );

s1。intern();

s2=s2。intern(); //把常量池中kvill的引用賦給s2

System。out。println( s0==s1);

System。out。
??println( s0==s1。intern() );

System。out。println( s0==s2 );

結果為:

false

**********

false //雖然執行了s1。intern(),但它的返回值沒有賦給s1

true //說明s1。
??intern()返回的是常量池中”kvill”的引用

true

最后我再破除一個錯誤的理解:

有人說,“使用String。intern()方法則可以將一個String類的保存到一個全局Strin

g 表中,如果具有相同值的Unicode字符串已經在這個表中,那么該方法返回表中已有字符串的地址,如果在表中沒有相同值的字符串,則將自己的地址注冊到表中“如果我把他說的這個全局的String表理解為常量池的話,他的最后一句話,“如果在表中沒有相同值的字符串,則將自己的地址注冊到表中”是錯 的:

看例4:

String s1=new String(kvill);

String s2=s1。
??intern();

System。out。println( s1==s1。intern() );

System。out。println( s1+ +s2 );

System。out。println( s2==s1。intern() );

結果:

false

kvill kvill

true

在 這個類中我們沒有聲名一個kvill常量,所以s1。
??intern()同new String(kvill)是不同的,當我們調用s1。intern()后就在常量池中新添加了一個kvill常量,原來的不在常量池中的kvill仍然存在,也就不是“將自己的地址注冊到常量池中”了。

s1==s1。
??intern()為false說明原來的“kvill”仍然存在;

s2現在為常量池中“kvill”的地址,所以有s2==s1。intern()為true。

評論列表暫無評論
發表評論
九九久久精品一区_国模叶桐国产精品一区_亚洲一品av免费观看_国产精品第10页_97色在线播放视频_性欧美激情精品_欧美高清视频在线观看_午夜精品福利电影_亚洲国产天堂久久国产91_亚洲三级黄色在线观看_亚洲综合最新在线_国产99久久精品一区二区永久免费_久久影视电视剧免费网站_国产亚洲精品日韩_国产精品美女久久久久久免费_北条麻妃一区二区三区中文字幕
亚洲人午夜精品| 18性欧美xxxⅹ性满足| 国产精品久久久久久久久借妻| 噜噜噜在线观看免费视频日韩| 五月天国产在线| 欧美美最猛性xxxxxx| 国产成人亚洲精品青草天美| 亚洲欧洲99久久| 成av人电影在线观看| 日韩久久视频| 懂色一区二区三区免费观看| 亚洲在线观看视频网站| 波多野结衣精品在线| 国产精品vvv| 美腿丝袜亚洲三区| 2019中文字幕在线观看| а√天堂资源地址在线下载| 亚洲深夜福利在线观看| 亚洲一区二区久久| 亚洲国产电影| 久久国产麻豆精品| 91久色porny| 日韩欧美一区二区久久婷婷| 爱情岛亚洲播放路线| 精品国产网站| 国产欧美一区二区精品久导航| 99精品视频免费全部在线| 无遮挡动作视频在线观看免费入口| 日韩欧美一二三四区| 夜夜爽夜夜爽精品视频| 精品国产91乱码一区二区三区| 日韩电影在线视频| 92看片淫黄大片看国产片| 亚洲视频小说图片| 国产极品精品在线观看| 欧美日韩精品免费| 国产麻豆精品视频| 视频直播国产精品| 国产亚洲精品aa午夜观看| 97在线视频免费观看完整版| 欧美一区二区三区在线播放| 国产欧美久久久精品影院| 黄在线免费观看| 久久夜色精品国产亚洲aⅴ| 日本欧美精品久久久| 欧美福利视频一区| 欧美影片第一页| 亚洲三级视频| 国内精品久久久久国产盗摄免费观看完整版| 免费成人av资源网| 毛片不卡一区二区| 亚洲欧美久久久| 欧美久久久久免费| 日韩免费视频在线观看| 欧美精品在线免费播放| 欧美中文日韩| 韩剧1988在线观看免费完整版| 成人午夜电影免费在线观看| 亚洲午夜av| 国产日韩在线不卡| 国产麻豆成人传媒免费观看| 秋霞欧美视频| 久久久久久久久久久久电影| 欧美一区二区视频在线| 91精选在线| 夜级特黄日本大片_在线| 日本欧美一区二区三区乱码| 精品香蕉一区二区三区| 国产欧美日韩视频在线观看| 97人人做人人爱| 国产99午夜精品一区二区三区| 成人免费毛片aaaaa**| 亚洲女爱视频在线| 久久久国产一区二区三区四区小说| 免费亚洲电影在线| 韩国精品在线观看| 日本不卡网站| www.av一区视频| av成人免费| 激情文学综合丁香| 国产一区二区精品在线| 色悠久久久久综合先锋影音下载| 国产黄色91视频| 一区二区三区精品视频在线| 一区二区三区日韩欧美精品| 欧美猛男男男激情videos| 一本色道久久综合亚洲精品不| 久久91精品久久久久久秒播| 91精品国产综合久久久久久丝袜| 天天爽夜夜爽夜夜爽精品视频| 成人区精品一区二区| 国产欧美二区| 99久久婷婷国产综合精品电影| 日本三级韩国三级久久| 91地址最新发布| 亚洲精品在线免费观看视频| 第四色成人网| 成人免费高清观看| 狠狠综合久久av| 国内精品久久久久久久久电影网| 日韩欧美激情电影| 亚洲精品777| 精品一区二区三区视频| 日韩精品一区第一页| 日本免费久久高清视频| 国产精品一区高清| 清纯唯美亚洲综合一区| 亚洲色图清纯唯美| 日韩精品卡一| 亚洲国产精品综合久久久| 午夜精品一区二区三区国产| 欧美日韩在线电影| 亚洲午夜一级| 大胆欧美人体视频| 天堂成人娱乐在线视频免费播放网站| 成人午夜电影免费在线观看| 国产精品99在线观看| 色999五月色| 在线日韩国产精品| 欧美丝袜美腿| 69国产精品成人在线播放| 九九综合九九综合| 91精品免费视频| 午夜精品久久| 久久精品国产免费观看| 不卡视频在线观看| 成人同人动漫免费观看| 欧美日本视频在线| 亚洲乱码一区二区| 少妇在线看www| 九九视频这里只有精品| 91沈先生播放一区二区| 激情久久av一区av二区av三区| 亚洲福利视频网站| 亚洲国产91色在线| 秋霞成人午夜鲁丝一区二区三区| 黑人一区二区三区| 亚洲欧美日本国产专区一区| 色悠悠亚洲一区二区| 欧美色婷婷久久99精品红桃| 欧美激情中文字幕| 成人激情诱惑| 制服丝袜一区二区三区| 在线看欧美日韩| 国产精品免费视频网站| 欧美精品免费播放| 久久av最新网址| 最近2019年中文视频免费在线观看| 国产福利91精品一区| 97电影在线| 调教视频免费在线观看| 成人国产网站| 成人两性免费视频| 99久久.com| 亚洲美女黄网| 欧美成人精品一区二区三区在线看| 久久久美女艺术照精彩视频福利播放| 韩国美女主播一区| 色综合中文网| 日本久久久久久久久| av漫画网站在线观看| 日韩一区和二区| av不卡一区| 2023国产一二三区日本精品2022|