<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    把困難踩在腳下

    迎難而上

     

    String 對象

    1.String對象賦值的方法:
    String對象賦值有兩種方法,第一種方法是直接對變量進行賦值,例如:String str="abc";這種方法非常簡單。第二種方法是使用new函數進行賦值,例如:String str=new String("abc");這種方法將產生兩個String對象,因為"abc"本身就是一個字符串,這個對象是一個匿名對象,進行new函數又產生一個新的String對象,它在內存中的存儲方式如下圖所示:

    這個程序在堆內存中開辟了兩塊空間,每塊空間的內容都是字符串"abc"。
    這種賦值方法非常浪費內存,如果對象很多的時候那么程序的可行性非常差,所以不提倡使用這種方法進行賦值。
    2.Sring對象的共享特性:
    如果在一個程序中聲明了兩個String變量,采用直接賦值的方法將同一個字符串付給這兩個變量,那么這兩個變量將同時指向這個變量,在

    堆內存中為這兩個變量只分配一塊內存空間,例如:String str1="abc";String str2="abc";它的內存存儲形式如下圖所示:


    這個程序在堆內存中只開辟了一塊內存空間,空間的內容是"abc"。
    3.String對象內容的不變性:
    如果聲明一個String變量并未這個變量賦值,那么就會在堆內存中為這個對象開辟一塊內存空間來存放對象的值,之后無論怎樣改變這個對

    象的值都不會改變,但是可以改變對象的指向。例如:
    String str="abc";
    str+="def";執行
    System.out.println(str);
    將輸出:
    abcdef
    這個程序在內存中的存儲過程如圖所示:


    執行第一條語句在堆內存中開辟了一塊內存空間,內容是字符串"abc",執行第二條語句:因為字符串"def"本身就是一個String對象,所以

    先在堆內存空間中開辟另一塊內存空間,空間內容是字符串"def",然后再開辟一塊內存空間是兩個字符串的和,也就是字符串"abcdef",

    其次將str與字符串"abc"的指向斷開,將str指向字符串"abcdef"。

     

    posted on 2010-10-16 21:28 馮魁 閱讀(281) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    公告

    快樂每一天!

    Everything is an object!

    常用鏈接

    留言簿(2)

    隨筆檔案

    學習網站

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲福利精品一区二区三区| 日韩精品成人无码专区免费| 久久久久亚洲爆乳少妇无 | 一级一看免费完整版毛片| 全黄性性激高免费视频| 老司机精品视频免费| 亚洲国产成人精品91久久久| 又硬又粗又长又爽免费看 | 亚洲最大中文字幕| 曰曰鲁夜夜免费播放视频| 亚洲人成免费电影| 国产精品美女自在线观看免费| 麻豆一区二区三区蜜桃免费| 亚洲一本大道无码av天堂| 两个人看www免费视频| 亚洲高清在线播放| 国产成人免费网站| 亚洲AV无码之国产精品| 亚洲AV无码一区二区三区在线观看| 一级毛片在线播放免费| 国产亚洲精品一品区99热| 亚洲一区二区免费视频| 亚洲午夜无码毛片av久久京东热 | 两个人看www免费视频| 日本久久久久亚洲中字幕| 国产1024精品视频专区免费| mm1313亚洲国产精品无码试看| 亚洲精品一级无码鲁丝片| 无码人妻精品中文字幕免费| 亚洲综合色区中文字幕| 免费在线观看日韩| 无码午夜成人1000部免费视频| 7777久久亚洲中文字幕| 亚洲精品无码激情AV| 亚洲成人免费网站| 狠狠热精品免费观看| 日产亚洲一区二区三区| www.亚洲色图| 美女裸身网站免费看免费网站| 一级成人生活片免费看| 男人天堂2018亚洲男人天堂 |