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

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

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

    posts - 17,  comments - 14,  trackbacks - 0

    String是在java編程中用的最多的數據類型,因此也有很多與其他數據類型不同的性質。

    創建字符串可以用的命令有:

    String str="abc";//創建str字符串,內容為abc。

    String str=new String("abc");//創建str字符串,內容為abc。

    雖然兩種方法都可以創建,但是卻有很大的不同。

    分析一下這兩句命令:

    String str="abc";

    這句程序的內存分配情況為:

    16

    首先在棧內存中為str開辟空間,然后在堆內存中開辟匿名字符串abc的空間,再由str指向abc的空間。這種方法很簡單,也很方便,而且在堆內存中也只開辟了一塊內容為abc的空間,沒有多余的空間。

    如果寫語句:String str1="abc";創建一個str1字符串,內容同樣為abc,那么內存空間的開辟和指向情況為:

    17

    可以看到str和str1指向同一塊堆內存,這是為什么呢?因為String用的最多,很特殊,因為對于String來講使用直接賦值的方式會在字符串池中保存內容。如果之后在聲明字符串的時候發現內容一樣,則不會重新開辟空間,而是從內存池中取出數據繼續使用。

    String str=new String("abc");

    這句程序的內存分配情況為:

    18

    19

    這句程序會在堆內存中開辟一塊內容為abc的匿名空間,然后再new一塊空間,賦值abc,并有str指向這里,這時候匿名空間由于沒有棧指向成為垃圾,然后被回收。

    可以發現,程序開辟了兩個空間,與前一個相比慢多了。所以在開發中絕對不能使用關鍵字new實例化String類。而且,如果直接使用賦值的方式也可以減少堆內存的開銷。

    posted on 2010-10-16 23:46 Mineralwasser 閱讀(2313) 評論(4)  編輯  收藏

    FeedBack:
    # re: String的兩種實例化方式的區別
    2011-04-25 17:01 | 曾國泰
    筆試碰到了這道題。。悲劇了。。哎。。  回復  更多評論
      
    # re: String的兩種實例化方式的區別
    2012-02-12 10:51 | Ma
    你對string分析得很具體,到位.  回復  更多評論
      
    # re: String的兩種實例化方式的區別
    2015-09-25 15:25 | jjx
    講的很好。  回復  更多評論
      
    # re: String的兩種實例化方式的區別
    2016-07-02 11:07 | 小學員
    String a=new String();
    a="hello";
    為何不報錯?  回復  更多評論
      

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


    網站導航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    文章檔案(21)

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲综合AV在线在线播放| 中国一级特黄高清免费的大片中国一级黄色片 | 精品国产香蕉伊思人在线在线亚洲一区二区 | 免费一级做a爰片久久毛片潮喷| 亚洲AV无码精品蜜桃| 亚洲国产精品第一区二区三区| 国产亚洲男人的天堂在线观看| 丁香亚洲综合五月天婷婷| 51在线视频免费观看视频| v片免费在线观看| 亚洲精品成a人在线观看夫| 亚洲大香伊人蕉在人依线| 亚洲国产高清在线| 亚洲欧洲成人精品香蕉网| 国产一级一片免费播放| 午夜爽爽爽男女免费观看影院| 国产精品高清视亚洲一区二区 | 日本成人在线免费观看| 亚洲一级免费毛片| 8x成人永久免费视频| 暖暖日本免费中文字幕| 日韩大片免费观看视频播放| 亚洲日韩精品无码专区加勒比 | 一级毛片**免费看试看20分钟| 亚洲AV无码一区二区三区DV| 亚洲人午夜射精精品日韩| 国产免费小视频在线观看| 国产精品极品美女免费观看| 嫖丰满老熟妇AAAA片免费看| 16女性下面无遮挡免费| 91精品导航在线网址免费| 中文字幕天天躁日日躁狠狠躁免费| 亚洲乱码av中文一区二区| 亚洲人成免费电影| 久久精品国产亚洲AV久| 亚洲欧洲精品视频在线观看| 亚洲理论片在线观看| 亚洲xxxxxx| 亚洲爆乳少妇无码激情| 小说区亚洲自拍另类| 无码人妻一区二区三区免费视频|