欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中toString()、String.valueOf、(String)強轉(zhuǎn)區(qū)別

 更新時間:2021年09月29日 16:24:32   作者:哪 吒  
相信大家在日常開發(fā)中這三種方法用到的應(yīng)該很多,本文主要介紹了Java中toString()、String.valueOf、(String)強轉(zhuǎn)區(qū)別,感興趣的可以了解一下

一、前言

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

二、代碼實例

 1、基本類型

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

(2)推薦使用

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

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

instanceof判斷

2、封裝類型

(1)toString ok

(2)String.valueOf()

自然也是可以的。

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

3、null值問題

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

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

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

到此這篇關(guān)于Java中toString()、String.valueOf、(String)強轉(zhuǎn)區(qū)別的文章就介紹到這了,更多相關(guān)Java中toString()、String.valueOf、(String)強轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java線程死鎖代碼示例

    java線程死鎖代碼示例

    這篇文章主要介紹了java線程死鎖代碼示例,分享了一個簡單線程死鎖的例子,需要的朋友可以參考下。
    2017-11-11
  • SpringBoot+Maven 多模塊項目的構(gòu)建、運行、打包實戰(zhàn)

    SpringBoot+Maven 多模塊項目的構(gòu)建、運行、打包實戰(zhàn)

    這篇文章主要介紹了SpringBoot+Maven 多模塊項目的構(gòu)建、運行、打包實戰(zhàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • springboot實現(xiàn)簡單的消息對話的示例代碼

    springboot實現(xiàn)簡單的消息對話的示例代碼

    本文主要介紹了springboot實現(xiàn)簡單的消息對話的示例代碼,可以使用WebSocket技術(shù),WebSocket是一種在客戶端和服務(wù)器之間提供實時雙向通信的協(xié)議,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • Spring mvc整合mybatis(crud+分頁插件)操作mysql

    Spring mvc整合mybatis(crud+分頁插件)操作mysql

    這篇文章主要介紹了Spring mvc整合mybatis(crud+分頁插件)操作mysql的步驟詳解,需要的朋友可以參考下
    2017-04-04
  • MySQL中drop、truncate和delete的區(qū)別小結(jié)

    MySQL中drop、truncate和delete的區(qū)別小結(jié)

    在MySQL數(shù)據(jù)庫管理中,常常需要執(zhí)行刪除數(shù)據(jù)的操作,本文主要介紹了MySQL中drop、truncate和delete的區(qū)別小結(jié),具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • 詳解SpringBoot定時任務(wù)說明

    詳解SpringBoot定時任務(wù)說明

    本篇文章主要介紹了詳解SpringBoot定時任務(wù)說明,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Java如何連接數(shù)據(jù)庫圖文教程

    Java如何連接數(shù)據(jù)庫圖文教程

    關(guān)于java數(shù)據(jù)庫的文章早已是非常多了,本文是對我個人過往學(xué)習(xí)java數(shù)據(jù)庫,理解及應(yīng)用java數(shù)據(jù)庫的一個總結(jié),下面這篇文章主要給大家介紹了關(guān)于Java如何連接數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • IDEA自定義setter和getter格式的設(shè)置方法

    IDEA自定義setter和getter格式的設(shè)置方法

    這篇文章主要介紹了IDEA自定義setter和getter格式的設(shè)置方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2023-12-12
  • Java中使用同步回調(diào)和異步回調(diào)的示例詳解

    Java中使用同步回調(diào)和異步回調(diào)的示例詳解

    這篇文章主要介紹了Java中使用同步回調(diào)和異步回調(diào)的相關(guān)資料,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • Spring Cache使用RedisCache案例解析

    Spring Cache使用RedisCache案例解析

    這篇文章主要介紹了Spring Cache使用RedisCache案例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10

最新評論