第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

java字符串常量問(wèn)題

java字符串常量問(wèn)題

網(wǎng)上看到的一篇文章講的字符串常量。其它沒(méi)什么問(wèn)題,主要是str7==str8的值為false,表示這個(gè)不理解,還望達(dá)人們能指點(diǎn)一下。如果能從引用(or地址?)的創(chuàng)建、改變的角度談?wù)剟t再好不過(guò)了。先行謝過(guò)~代碼如下(代碼已經(jīng)被我簡(jiǎn)化過(guò)了,只保留有疑問(wèn)部分):publicclassDemoStringCreation{publicstaticvoidmain(Stringargs[]){Strings="lo";Stringstr7="Hel"+s;Stringstr8="He"+"llo";System.out.println("str7==str8is"+(str7==str8));System.out.println("str7.equals(str8)is"+str7.equals(str8));}}/*******************************updated2014.04.1814:40********************/@brayden大大從編譯的角度給出了解釋,我相信這個(gè)解釋足夠底層、根本,無(wú)奈我看不太明白-_-!!這篇文章最下面幾段給了解釋,理解起來(lái)似乎有了些感覺(jué)。示例代碼與相應(yīng)的解釋我也貼一下,/****************粘貼開(kāi)始******************/Stringa="ab";Stringbb="b";Stringb="a"+bb;System.out.println((a==b));//result=false分析:JVM對(duì)于字符串引用,由于在字符串的"+"連接中,有字符串引用存在,而引用的值在程序編譯期是無(wú)法確定的,即"a"+bb無(wú)法被編譯器優(yōu)化,只有在程序運(yùn)行期來(lái)動(dòng)態(tài)分配并將連接后的新地址賦給b。所以上面程序的結(jié)果也就為false。Stringa="ab";finalStringbb="b";Stringb="a"+bb;System.out.println((a==b));//result=true分析:和上面例子唯一不同的是bb字符串加了final修飾,對(duì)于final修飾的變量,它在編譯時(shí)被解析為常量值的一個(gè)本地拷貝存儲(chǔ)到自己的常量池中或嵌入到它的字節(jié)碼流中。所以此時(shí)的"a"+bb和"a"+"b"效果是一樣的。故上面程序的結(jié)果為true。Stringa="ab";finalStringbb=getBB();Stringb="a"+bb;System.out.println((a==b));//result=falseprivatestaticStringgetBB(){return"b";}分析:JVM對(duì)于字符串引用bb,它的值在編譯期無(wú)法確定,只有在程序運(yùn)行期調(diào)用方法后,將方法的返回值和"a"來(lái)動(dòng)態(tài)連接并分配地址為b,故上面程序的結(jié)果為false。/****************粘貼結(jié)束******************/Ok,這里我的新問(wèn)題又來(lái)了,什么時(shí)候是編譯期,什么時(shí)候是才算是運(yùn)行期呢?(問(wèn)題是不是太基礎(chǔ)了?我自己都懷疑……裝載、編譯、運(yùn)行這些概念是經(jīng)常碰到,就是從來(lái)沒(méi)有完全弄清楚過(guò)程)如果這個(gè)問(wèn)題解決了,那按照上面貼的這篇文章里的解釋,就能完全理解通了?;蛘?,能不能把@brayden大大的那個(gè)編譯解釋明白一點(diǎn)點(diǎn)?
查看完整描述

2 回答

  • 2 回答
  • 0 關(guān)注
  • 291 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)