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

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

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

    求索

    Make it work, make it right, make it fast and make it open。
    posts - 8, comments - 11, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    String pool

    Posted on 2005-07-15 09:31 Java求索 閱讀(1148) 評論(1)  編輯  收藏 所屬分類: Java
    今天寫代碼涉及到大量的String操作,突然間想起一些關于String與其它class的不同之處,我是我以前在一篇文章上看到的,具體出處實在記不得了,現在加上一點兒自己的理解記錄下來,以作備忘。

    String的特殊之處就是它可以像int等簡單類型一樣,使用“=”來生成一個Object,而不必用new這個關鍵字,為什么呢?先來看下面的代碼:
    import junit.framework.TestCase;

    public class TestStringPool extends TestCase {

        
    private String string1;
        
    private String string2;

        
    protected void setUp() {
            string1 
    = "abc";
            string2 
    = "abc";
        }


        
    public void testStringPool() {
            assertTrue(string1 
    == string2);
        }


        
    public void testNewString() {
            string1 
    = new String("abc");
            string2 
    = new String("abc");
            assertFalse(
    "The objects don't use the 
                string pool", string1 == string2);
        }

    }

    這里用到了JUnit,用來測試String pool。

    第一個測試,說明兩個String是同一個Object,(==就是用來比較objectreference)。而第二個測試則說明兩個String Object不同。

    眾所周知,JavaString不可改變的字符串對象。為了提高效率,JavaString類提供了串池(String pool)。正如大家所看到的那樣,在第一個test中就使用了串池。當你重新聲明一個String型變量為abc時,將使用串池里原來的那個abc,而不重新分配內存,也就是說,string2string1將會指向同一塊內存。所以結果為true。在第二個test case中使用了普通對象的聲明方式,系統將會為string1string2各分配一塊內存。所以結果為false。

     結論:我們比較兩個String的值,最好用equals()方法,而最好不要使用==。這就避免了一些不必要的麻煩。另外,聲明String的時候,最好用=,這樣就可以體現String pool的作用了。


    評論

    # re: String pool  回復  更多評論   

    2005-07-15 12:19 by emu
    >>我們比較兩個String的值,最好用equals()方法,而最好不要使用==

    結論是對的,但是跟string pool沒什么關系。

    >>另外,聲明String的時候,最好用=,這樣就可以體現String pool的作用了。

    結論也是對的,但是這樣做不是為了體現String pool的作用而是避免重復創建對象。

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


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 亚洲成a人片在线观看久| 在线观看亚洲免费视频| 国产av天堂亚洲国产av天堂| 日本特黄特色AAA大片免费| 国产大片91精品免费观看男同| 国产精品亚洲一区二区麻豆| 9久9久女女免费精品视频在线观看| 亚洲国产精品专区| 成年性生交大片免费看| 亚洲AV无码一区二区三区牲色 | 亚洲国产av美女网站| h在线观看视频免费网站| 亚洲婷婷天堂在线综合| 成年女人毛片免费播放人| 亚洲成a∧人片在线观看无码| 国产精品二区三区免费播放心| 另类图片亚洲校园小说区| 亚洲国产精品成人一区| 国产精品网站在线观看免费传媒| 亚洲an天堂an在线观看| 无码专区永久免费AV网站| 久久亚洲中文字幕无码| 国产亚洲精午夜久久久久久| 性无码免费一区二区三区在线| 亚洲AV成人噜噜无码网站| 日本19禁啪啪无遮挡免费动图| 国产精品综合专区中文字幕免费播放| 亚洲av无码一区二区乱子伦as | 日本午夜免费福利视频| 精品无码一级毛片免费视频观看| 色噜噜综合亚洲av中文无码| 日韩视频免费在线| 在线观看免费播放av片| 亚洲免费福利在线视频| 国产亚洲精品影视在线产品| 99re热免费精品视频观看| rh男男车车的车车免费网站 | 久久久无码精品亚洲日韩京东传媒| 好吊妞在线新免费视频| 中文字幕在线免费看线人| 亚洲欧美aⅴ在线资源|