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

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

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

    String要點

    Posted on 2008-12-06 19:39 遲來的兵 閱讀(233) 評論(0)  編輯  收藏 所屬分類: Java
    一.String對象的比較,+操作和intern方法
    這里從一個問題入手來看看。

    package testPackage;
       public class Test {
            
    public static void main(String[] args) {
                String hello 
    = "Hello", lo = "lo";
                System.out.print((hello 
    == "Hello"+ " ");
                System.out.print((Other.hello 
    == hello) + " ");
                System.out.print((other.Other.hello 
    == hello) + " ");
                System.out.print((hello 
    == ("Hel" + "lo")) + " ");
                System.out.print((hello 
    == ("Hel" + lo)) + " ");
                System.out.println(hello 
    == ("Hel" + lo).intern());
            }

        }
        class Other {
            
    static String hello = "Hello";
        }


    package other;
        public class Other {
            
    static String hello = "Hello";
        }

    正確答案:true true true true false true
    主要要點有:
    1.所有內容相同的String指向同一個內存塊。但String對象不能是通過new操作創建出來。主要原因是JVM對String做了優化,String加載之后會持有一個常量池,
    只要在常量池中找到內容相同的String就會把其引用返回。而new操作是直接在內存中分配新空間。



    2.Java中有兩種綁定,靜態和動態。如果+操作的兩邊是常量表達式那么會在采用靜態綁定,也就是說編譯之后值已經定下來了。而如果有一邊是通過new操作創建出
    來的那么會采用動態綁定,只有在運行的時候才知道其具體的值。
    3.String的intern方法會到常量池里面找是否有相同內容的String,如果有則返回其引用。如果沒有則把這個String對象添加到常量池之中并放回其引用。額外說
    下,intern在英文中有保留區的意思,這樣好理解其作用。intern方法還是native的。
    二.String中的正則表達式使用

    String中有些方法是需要正則表達式作為參數的。這個時候就要主要不要傳錯參數。最典型的例子就是replaceAll(String regex, String replacement)。第一個
    參數是需要正則表達式的,而第二參數是普通的字符串。
            String ss = "???";
            ss 
    = ss.replaceAll("?""=");//運行到這里會拋出PatternSyntaxException,因為“?”在正則表達式里面是特殊符號,需要轉義。
            ss = ss.replaceAll("[?]""=");//正確,我個人比較傾向于這種寫法。
            ss = ss.replaceAll("\\?""=");//正確,對“?”做轉義。

    因此在使用split,replaceAll,replaceFirst等方法時要特別注意是不是需要轉義.

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


    網站導航:
     

    posts - 6, comments - 8, trackbacks - 0, articles - 1

    Copyright © 遲來的兵

    主站蜘蛛池模板: 亚洲熟妇无码久久精品| 亚洲精品自在在线观看| 亚洲国产成人精品青青草原| 色欲A∨无码蜜臀AV免费播 | 免费看美女被靠到爽的视频| 国产亚洲国产bv网站在线| 妻子5免费完整高清电视| 亚洲人成网站在线观看播放青青| 黄在线观看www免费看| 亚洲资源在线视频| 在线视频免费观看爽爽爽| 亚洲成年人电影网站| 成视频年人黄网站免费视频| 成人亚洲国产va天堂| 免费A级毛片无码A| 中国人免费观看高清在线观看二区| 亚洲色欲一区二区三区在线观看| 免费黄网站在线看| 亚洲欧洲精品在线| 四虎影院免费视频| 特级毛片在线大全免费播放| 国产亚洲色婷婷久久99精品| 免费萌白酱国产一区二区三区| 精品亚洲麻豆1区2区3区| 97热久久免费频精品99| 国产精品亚洲天堂| 亚洲国产精品无码久久久不卡 | 国产又大又黑又粗免费视频 | 亚洲精品国产福利在线观看| 黄+色+性+人免费| 国产偷国产偷亚洲清高APP| 亚洲伊人成无码综合网| 8x8x华人永久免费视频| 亚洲色在线无码国产精品不卡 | 久久免费观看国产99精品| 亚洲色精品VR一区区三区| 亚洲国产精品成人久久蜜臀| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 日本成人免费在线| 日本在线免费观看| 亚洲精品无码高潮喷水A片软|