在java專案的實際開發與應用中,常常需要用到將物件轉換為String這個基本功能。本文將對常用的轉換方法進行一個總結。常用的方法有Object.toString(),(String)要轉換的對象,String.valueOf(Object)等。以下將這些方法一一進行分析。
方法1:採用Object.toString()方法請看下面的範例:
Object object = getObject();
#System.out.println(object.toString());
在這個使用方法中,因為java.lang.Object類別裡已有public方法.toString(),所以對任何嚴格意義上的java物件都可以呼叫此方法。 但在使用時要注意,必須保證object不是null值,否則會拋出NullPointerException例外。 採用這種方法時,通常衍生類別會覆寫Object裡的toString()方法。
方法2:#採用型別轉換(String)object方法這是標準的型別轉換,將object轉成String類型的值。使用這種方法時,需要注意的是類型必須能轉換成String類型。因此最好用instanceof做個類型檢查,以判斷是否可以轉換。否則容易拋出CalssCastException異常。 此外,需要特別小心的是因定義為Object
類型的物件在轉換成String時語法檢查並不會報錯,這將可能導致潛在的錯誤存在。 這時要格外小心。如:
Object obj = new Integer(100);
String strVal = (String) obj;
在執行階段將會出錯,因為執行Integer類型強制轉換為String類型,無法通過。但是,
Integer obj = new Integer(100);
String strVal = (String)obj;
如是格式程式碼,將會報語法錯誤。
此外,因為null值可以強制轉換為任何java類別類型,(String)null也是合法的。
方法3:採用String.valueOf(Object) String.valueOf(Object)的基礎是Object.toString()。但它與Object#toString()又有所不同。在前面方法1的分析中提到,使用後者時需保證不為null。但採用第三種方法時,將不用擔心object是否為null值這一問題。為了方便說明問題,我們來分析一下相關的原始碼。 Jdk裡String.valueOf(Object)原始碼如下:
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!”);}這樣的語句將可能會發生什麼問題。再想一下,當向控制台輸出時,在視覺上如下語句在執行的結果上有什麼不同:
#System.out.println(String.valueOf(null ));//是字串“null”
System.out.println(null);//是空值null
#我們看到的輸出將是一模一樣的東西:null,但它們意義相同嗎?
Java中valueOf,parseInt,toString三者的差異
3. 4.object轉換函數toString()與valueOf()介紹
5.以上是Java中valueOf和toString,(String)之間的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

記事本++7.3.1
好用且免費的程式碼編輯器