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

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

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

    java轉(zhuǎn)為java String幾種常用方法(轉(zhuǎn))

    Posted on 2012-02-08 10:32 李勝東 閱讀(118) 評論(0)  編輯  收藏 所屬分類: J2SE
    在java項目的實際開發(fā)和應用中,常常需要用到將對象轉(zhuǎn)為String這一基本功能。本文將對常用的轉(zhuǎn)換方法進行一個總結(jié)。常用的方法有Object#toString(),(String)要轉(zhuǎn)換的對象,String.valueOf(Object)等。下面對這些方法一一進行分析。  

      方法1:采用 Object#toString()方法

      請看下面的例子:  

       Object object = getObject();  

      System.out.println(object.toString());  

      在這種使用方法中,因為java.lang.Object類里已有public方法.toString(),所以對任何嚴格意義上的java對象都可以調(diào)用此方法。但在使用時要注意,必須保證object不是null值,否則將拋出NullPointerException異常。采用這種方法時,通常派生類會覆蓋Object里的toString()方法。  

      方法2:采用類型轉(zhuǎn)換(String)object方法

      這是標準的類型轉(zhuǎn)換,將object轉(zhuǎn)成String類型的值。使用這種方法時,需要注意的是類型必須能轉(zhuǎn)成String類型。因此最好用instanceof做個類型檢查,以判斷是否可以轉(zhuǎn)換。否則容易拋出CalssCastException異常。此外,需特別小心的是因定義為Object 類型的對象在轉(zhuǎn)成String時語法檢查并不會報錯,這將可能導致潛在的錯誤存在。這時要格外小心。如:  

      Object obj = new Integer(100);  

      String strVal = (String)obj;  

      在運行時將會出錯,因為將Integer類型強制轉(zhuǎn)換為String類型,無法通過。但是,  

      Integer obj = new Integer(100);  

      String strVal = (String)obj;  

      如是格式代碼,將會報語法錯誤。  

      此外,因null值可以強制轉(zhuǎn)換為任何java類類型,(String)null也是合法的。  
      方法3:采用String.valueOf(Object)

      String.valueOf(Object)的基礎是Object#toString()。但它與Object#toString()又有所不同。在前面方法1的分析中提到,使用后者時需保證不為null。但采用第三種方法時,將不用擔心object是否為null值這一問題。為了便于說明問題,我們來分析一下相關的源代碼。Jdk里String# valueOf(Object)源碼如下:  

       /**

       * Returns the string representation of the Object argument.

       *  

       * @param obj an Object.  

       * @return if the argument is null, then a string equal to  

       * "null"; otherwise, the value of 

       * obj.toString() is returned.  

       * @see java.lang.Object#toString()  

       */ 

       public static String valueOf(Object obj) {  

       return (obj == null) ? "null" : obj.toString(); 

      }

      

      從上面的源碼可以很清晰的看出null值不用擔心的理由。但是,這也恰恰給了我們隱患。我們應當注意到,當object為null時,String.valueOf(object)的值是字符串”null”,而不是null!!!在使用過程中切記要注意。試想一下,如果我們用 if(String.valueOf(object)==null){System.out.println(“傳入的值是null!”);}這樣的語句將可能會發(fā)生什么問題。再想一下,向控制臺輸出時,在視覺上如下語句在執(zhí)行的結(jié)果上有什么不同:  

      System.out.println(String.valueOf(null));  

      System.out.println(null);  

      我們看到的輸出將是一模一樣的東西:null,但它們意義相同嗎?  

      以上是對object對象轉(zhuǎn)換為String的一些總結(jié)。

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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 成在人线AV无码免费| 动漫黄网站免费永久在线观看| 在线免费一区二区| 国产精品高清视亚洲一区二区| 国产精品久久永久免费| 亚洲AV无码精品无码麻豆| 成全视频免费观看在线看| 在线亚洲人成电影网站色www| 永久免费无码日韩视频| 久久精品国产亚洲Aⅴ香蕉| 日本精品久久久久久久久免费| 亚洲AV无码乱码在线观看牲色| 精品一区二区三区无码免费直播| 人人狠狠综合久久亚洲高清| 四虎成人精品国产永久免费无码| 亚洲精品成人a在线观看| a级毛片免费网站| 国产aⅴ无码专区亚洲av| 精品成人免费自拍视频| 亚洲另类激情综合偷自拍| 成人免费视频69| 亚洲国产精品网站在线播放| 五月天婷亚洲天综合网精品偷| 一级午夜免费视频| 亚洲成A人片777777| 麻豆视频免费观看| 亚洲另类无码专区首页| 免费中文字幕一级毛片| CAOPORN国产精品免费视频| 亚洲国产综合专区电影在线| 国产成人精品久久免费动漫| 亚洲Aⅴ在线无码播放毛片一线天 亚洲avav天堂av在线网毛片 | 亚洲Av综合色区无码专区桃色| 国产成人久久AV免费| 亚洲av永久综合在线观看尤物| 宅男666在线永久免费观看| 一级一级一级毛片免费毛片| 中文字幕亚洲综合久久2| 四虎免费在线观看| 中文字幕不卡免费视频| 亚洲六月丁香六月婷婷色伊人|