一、Object類的toString()方法
在Java中,每個類都默認繼承自Object類,而Object類中的toString()方法可以將其子類對象轉換成字元串,並返回該字元串。
public String toString(){ return getClass().getName() + "@" + Integer.toHexString(hashCode()); }
在該方法內部,首先使用getClass()獲取當前對象的類名,再通過Integer.toHexString(hashCode())獲取對象的哈希值(散列值)並將兩者拼接成一個字元串作為返回值。
但是,大多數從Object類派生出的子類都應該覆蓋toString()方法,以提供更有用的表示形式。例如,一個Person類的toString()方法可以返回該人的姓名和年齡,而不是默認的類名和哈希值。
二、String類的valueOf()方法
String類中的valueOf()方法可以將任何類型的數據轉換成字元串類型,包括Object類型。它有多個重載方法,可以根據不同的參數類型進行轉換。
//將int類型的數據轉換成String類型 public static String valueOf(int i) //將Object類型的數據轉換成String類型 public static String valueOf(Object obj)
在valueOf()方法中,如果傳入的參數是一個對象,它會自動調用該對象的toString()方法來獲取字元串表示形式,並返回該字元串。
三、String類的”+”運算符
在Java中,”+”運算符既可以進行加法運算,也可以進行字元串拼接,並且拼接的兩個對象類型可以是任意類型,包括Object類型。
String str = "Hello" + new Date(); //將Date對象和字元串拼接成一個新字元串
在拼接過程中,Java會自動調用對象的toString()方法來將其轉換成字元串。在這個例子中,Date對象會被轉換成一個格式為”Mon Jul 12 22:32:26 CST 2021″的字元串,最終和”Hello”拼接成一個新的字元串。
四、StringBuilder/StringBuffer類的append()方法
StringBuilder和StringBuffer類中的append()方法可以在字元串末尾添加任何類型的數據,並將其轉換成字元串。
StringBuilder sb = new StringBuilder(); sb.append("Hello, "); sb.append("world!"); sb.append(2021); String str = sb.toString(); //將StringBuilder對象轉換成字元串
append()方法接受任何類型的數據作為參數,並會自動調用它們的toString()方法將其轉換成字元串。在這個例子中,StringBuilder會依次添加”Hello, “、”world!”和2021三個對象,並在最後將它們轉換成一個字元串。
五、Object類的Format()方法
Object類中的Format()方法可以將一個對象按照指定格式轉換成字元串,格式由第一個參數指定。第一個參數可以是一個字元串或一個Locale對象。如果第一個參數是字元串,則可以在字元串中使用格式說明符指定轉換的格式。
//將數字轉換成指定長度的字元串 String str = String.format("%05d", 2021);
在這個例子中,%05d表示將數字轉換成5位字元串,不足的位置用0補齊。使用String.format()方法將數字2021按照這個格式轉換成字元串”02021″。
六、總結
上文介紹了Java中五種將Object類型轉換成String類型的方法,包括Object類的toString()方法、String類的valueOf()方法、”+”運算符、StringBuilder/StringBuffer類的append()方法和Object類的Format()方法。不同的轉換方法適用於不同的場景,可以根據實際需求進行選擇。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/304179.html