<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          頭條三面:toString()、String.valueOf、(String)強轉(zhuǎn),有啥區(qū)別?

          共 1951字,需瀏覽 4分鐘

           ·

          2021-11-18 03:09

          相關閱讀

          300本計算機編程的經(jīng)典書籍下載

          AI全套:Python3+TensorFlow打造人臉識別智能小程序

          最新人工智能資料-Google工程師親授 Tensorflow-入門到進階

          Java架構(gòu)全階段七期完整

          黑馬頭條項目 - Java Springboot2.0(視頻、資料、代碼和講義)14天完整版

          Spring核心編程思想


          來源blog.csdn.net/guorui_java/article/details/117935620

          一、前言

          相信大家在日常開發(fā)中這三種方法用到的應該很多,尤其是前兩種,經(jīng)常在開發(fā)的時候,隨心所欲,想用哪個用哪個,既然存在,那就應該有它存在的道理,那么什么情況下用哪個呢?

          二、代碼實例

          1、基本類型

          (1)基本類型沒有toString()方法

          (2)推薦使用

          (3)無法強轉(zhuǎn)

          (String)是標準的類型轉(zhuǎn)換,將Object類型轉(zhuǎn)為String類型,使用(String)強轉(zhuǎn)時,最好使用instanceof做一個類型檢查,以判斷是否可以進行強轉(zhuǎn),否則容易拋出ClassCastException異常。需要注意的是編寫的時候,編譯器并不會提示有語法錯誤,所以這個方法要謹慎的使用。搜索公眾號互聯(lián)網(wǎng)架構(gòu)師后臺回復“2T”,獲取一份驚喜禮包。

          instanceof判斷

          2、封裝類型

          (1)toString ok

          (2)String.valueOf()

          自然也是可以的。

          (3)封裝類型也無法強轉(zhuǎn)

          3、null值問題

          (1)toString()報空指針異常

          (2)String.valueOf()返回字符串“null”

          搜索公眾號互聯(lián)網(wǎng)架構(gòu)師回復“2T”,送你一份驚喜禮包。

          (3)null值強轉(zhuǎn)成功

          三、源碼分析

          1、toString()


          2、String.valueOf()

          String.valueOf()比toString多了一個非空判斷。

          四、總結(jié)

          1、toString(),可能會拋空指針異常

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

          2、String.valueOf(),推薦使用,返回字符串“null”

          String.valueOf()方法是小編推薦使用的,因為它不會出現(xiàn)空指針異常,而且是靜態(tài)的方法,直接通過String調(diào)用即可,只是有一點需要注意,就是上面提到的,如果為null,String.valueOf()返回結(jié)果是字符串“null”。而不是null。

          3、(String)強轉(zhuǎn),不推薦使用

          (String)是標準的類型轉(zhuǎn)換,將Object類型轉(zhuǎn)為String類型,使用(String)強轉(zhuǎn)時,最好使用instanceof做一個類型檢查,以判斷是否可以進行強轉(zhuǎn),否則容易拋出ClassCastException異常。需要注意的是編寫的時候,編譯器并不會提示有語法錯誤,所以這個方法要謹慎的使用。

          全棧架構(gòu)社區(qū)交流群

          ?「全棧架構(gòu)社區(qū)」建立了讀者架構(gòu)師交流群,大家可以添加小編微信進行加群。歡迎有想法、樂于分享的朋友們一起交流學習。

          掃描添加好友邀你進架構(gòu)師群,加我時注明姓名+公司+職位】

          看完本文有收獲?請轉(zhuǎn)發(fā)分享給更多人


          往期資源:


          Flutter 移動應用開發(fā)實戰(zhàn) 視頻(開發(fā)你自己的抖音APP)
          Java面試進階訓練營 第2季(分布式篇)
          Java高級 - 分布式系統(tǒng)開發(fā)技術視頻
          瀏覽 50
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲天堂网2024 | 久久免费精品视频观看 | 小泽玛利亚黑人喷水 | 麻豆国产一区二区三区四区 | 九九九九九色 |