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

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

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

    復雜的事情要簡單做;   簡單的事情要認真做;   認真的事情要重復做;   重復的事情要創造性地做。

    信心 恒心 決心 創意 樂意

    も軍魂ミ 心系java

    Java的魅力:跨平臺、動態的Web、Internet計算 Java在Web、移動設備以及云計算方面前景廣闊 我的java編程不是夢!!! 俗話說的好:“授人以魚不如授人以漁”.
    posts - 10, comments - 12, trackbacks - 0, articles - 5
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    淺談java中String類

    Posted on 2010-11-08 14:41 セ軍魂ミ 閱讀(2559) 評論(0)  編輯  收藏

    String:

                  java中的字符串。 String類是不可變的,對String類的任何改變,都是返回一個新的String類對象。 String 對象是 System.Char 對象的有序集合,用于表示字符串。String 對象的值是該有序集合的內容,并且該值是不可變的這樣的話把String類的引用傳遞給一個方法,該方法對String的任何改變,對原引用指向的對象沒有任何影響,
     String  s1 = "abc";  
        String  s2= "def";   
        String  s2 = s1;

     //這樣操作之后s1是"abc",s2也是"abc".

               String 有兩種賦值方式:直接賦值:String  s1 = "abc"; 
                                                       ②用new開辟空間:String str1 = new String(“abc”) ;

          區別:①先看下面這個程序,看結果是否相等
                    public static void main(String args[]) {
                                //都是采用直接賦值的方式
                                String str1 = "abc";
                                //String能否采用new的方式賦值呢?
                                String str2 = new String("abc");
                                String str3 = str2;
                                System.out.println(str1);
                                System.out.println(str2);
                                //String該如何比較是否相等呢
                                System.out.println(str1==str2);
                                System.out.println(str2==str3);
                              }

    運行結果:abc
                       abc
                       false
                       true

    出現上述運行結果的原因: “==”如果直接應用在字符串上進行比較,則表示比較的是內存地址的值。在
     String str1="abc";證明棧內存中有個str1,在堆內存中的內容就是abc,只會產生一個對象;而在String str1 = new String(“abc”) ;代碼中我們知道“abc”是匿名對象,那么在堆內存中就會有塊空間是“abc”,緊接著new String("abc") 使用new在堆內存中又開辟了一個空間“abc”,最后String str1 = new String("abc") ;代碼將最后生成的“abc”內存地址指向str1,最早的一個“abc”就沒使用上。 即使用new 關鍵字開辟,則會產生兩個對象 。
      


               ②直接賦值法,在堆內存中只會產生一個對象,而用new開辟空間法,最后在堆內存中是產生了兩個對象。

              String str1="abc";                                                                                                                 

     
    String str1 = new String("abc") ;




              String 類提供的成員執行以下操作有:比較 String 對象;返回 String 對象內字符或字符串的索引;復制 String 對象的值;分隔字符串或組合字符串;修改字符串的值;將數字、日期和時間或枚舉值的格式設置為字符串;對字符串進行規范化。
                 使用 Compare、CompareOrdinal、CompareTo、Equals、EndsWith 和 StartsWith 方法進行比較。                                                
                    使用  IndexOf、IndexOfAny、LastIndexOf 和 LastIndexOfAny 方法可獲取字符串中子字符串或 Unicode 字符的索引。
                    使用 Copy 和 CopyTo 可將字符串或子字符串復制到另一個字符串或 Char 類型的數組。
                 使用 Substring 和 Split 方法可通過原始字符串的組成部分創建一個或多個新字符串;
                    使用 Concat 和 Join 方法可通過一個或多個子字符串創建新字符串。
                    使用 Insert、Replace、Remove、PadLeft、PadRight、Trim、TrimEnd 和 TrimStart 可修改字符串的全部或部分。 
                    使用 ToLower、ToLowerInvariant、ToUpper 和 ToUpperInvariant 方法可更改字符串中 Unicode 字符的大小寫。 
                    使用 Format, 可將字符串中的一個或多個格式項占位符替換為一個或多個數字、日期和時間或枚舉值的文本表示形式。
                    使用 Length 屬性可獲取字符串中 Char 對象的數量;使用 Chars 屬性可訪問字符串中實際的 Char 對象。
                    使用 IsNormalized 方法可測試某個字符串是否已規范化為特定的范式。使用 Normalize 方法可創建規范化為特定范式的字符串。

       

              "=="與equals的區別:“==”表示比較的是內存地址的值
                                                      equals表示比較兩個字符串的內容是否相等

    若把上面的程序改為如下程序,再看運行結果是什么:
       public static void main(String args[]) {
                                //都是采用直接賦值的方式
                                String str1 = "abc";
                                //String能否采用new的方式賦值呢?
                                String str2 = new String("abc");
                                String str3 = str2;
                                System.out.println(str1);
                                System.out.println(str2);
                                //String該如何比較是否相等呢
                                System.out.println(str1.equals(str2);
                                System.out.println(str2.equals(str3);
                              }
      
    運行結果:abc
                       abc
                       true
                       true


    總結:這些就是我對java中String類的初步認識,希望能給大家帶來一定的幫助,若有什么不對的,也希望大家給與提出建議,我也從中學習、體會,謝謝!

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


    網站導航:
     
    主站蜘蛛池模板: 四虎影视大全免费入口| 亚洲一级毛片免费观看| va亚洲va日韩不卡在线观看| 亚洲av永久无码| 四虎1515hm免费国产| 免费一级特黄特色大片| 亚洲色偷偷狠狠综合网| 最近免费中文字幕中文高清| 亚洲精品乱码久久久久久久久久久久| 亚洲av无码天堂一区二区三区| 丁香亚洲综合五月天婷婷| 一级成人毛片免费观看| 亚洲性猛交XXXX| 精品无码人妻一区二区免费蜜桃 | 亚洲精品乱码久久久久久自慰| 久久亚洲精品无码VA大香大香| 免费毛片在线看不用播放器| 日韩精品电影一区亚洲| 免费一级特黄特色大片| 精品亚洲永久免费精品| 免费专区丝袜脚调教视频| 亚洲一卡2卡3卡4卡5卡6卡 | 亚洲AV无码精品无码麻豆| 精品无码人妻一区二区免费蜜桃| 国产一级特黄高清免费大片| 国产区在线免费观看| 图图资源网亚洲综合网站| AV免费网址在线观看| 一级毛片视频免费| 久久亚洲精品国产精品| 国产色爽免费视频| 免费毛片在线看不用播放器 | 久久免费视频网站| 亚洲人色大成年网站在线观看| 中文字幕a∨在线乱码免费看| 精品久久久久久久免费加勒比| 久久亚洲美女精品国产精品| 日韩在线a视频免费播放| 好湿好大好紧好爽免费视频| 亚洲综合激情视频| 亚洲国产精品无码久久青草|