java中的tostring方法的具體用法
我們知道調(diào)用對象的toString()方法會直接輸出對象的屬性信息,但是具體怎么實現(xiàn)的?以及如何更好地實現(xiàn)它呢?現(xiàn)在來學(xué)習(xí)下。

通過java文檔我們能知道,toString()方法在Object類里定義的,其返回值類型為String類型,返回類名和它的引用地址。
在進(jìn)行String類與其他類型的連接操作時,自動調(diào)用toString()方法,demo如下:
Date now = new Date();
System.out.println("now = " + now);//相當(dāng)于下一行代碼
System.out.println("now = " + now.toString());
實際應(yīng)用中,可以根據(jù)需要在用戶自定義類型中重寫toString()方法,如Stirng類重寫了toString()方法,返回字符串的值,dome如下
System.out.println(s1);//相當(dāng)于下一行代碼 System.out.println(s1.toString());
基本數(shù)據(jù)類型轉(zhuǎn)換為String類型是,調(diào)用了對應(yīng)包裝類的toString()方法,demo如下:
int a = 10;
System.out.println("a = " + a);
現(xiàn)在來看下jdk里面的源碼是怎么樣的:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
現(xiàn)在我們來實踐使用它:
Person p1 = new Person(); System.out.println(p1.toString());//TestEquals.Person@15db9742 System.out.println(p1);//TestEquals.Person@15db9742 因為輸出的時候回默認(rèn)調(diào)用Objec類toString()方法
當(dāng)我們打印一個對象的引用時,實際是默認(rèn)調(diào)用這個對象的toString()方法
當(dāng)打印的對象所在類沒有重寫Object中的toString()方法時,默認(rèn)調(diào)用的是Object類中toString()方法。
返回此對象所在的類及對應(yīng)的堆空間對象實體的首地址值。
當(dāng)我們打印對象所 在類重寫了toString(),調(diào)用的就是已經(jīng)重寫了的toString()方法,一般重寫是將類對象的屬性信息返回。
我們也可以自定義一個tostring()方法:
//手動實現(xiàn)
public String toString(){
return " Person:name=" + name +" age=" + age;
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決Spring調(diào)用Feign報錯:java.io.IOException:Incomplete output
這篇文章主要介紹了解決Spring調(diào)用Feign報錯:java.io.IOException:Incomplete output stream問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04
MyBatis通用Mapper實現(xiàn)原理及相關(guān)內(nèi)容
今天小編就為大家分享一篇關(guān)于MyBatis通用Mapper實現(xiàn)原理及相關(guān)內(nèi)容,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
Spring aop 如何通過獲取代理對象實現(xiàn)事務(wù)切換
這篇文章主要介紹了Spring aop 如何通過獲取代理對象實現(xiàn)事務(wù)切換的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
Tornadofx學(xué)習(xí)筆記之IconTextFx開源庫整合5000+個字體圖標(biāo)
這篇文章主要介紹了Tornadofx學(xué)習(xí)筆記之IconTextFx開源庫整合5000+個字體圖標(biāo)的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12
Java批量向PDF文件中添加圖像水印實現(xiàn)細(xì)節(jié)
這篇文章主要為大家介紹了Java批量向PDF文件中添加圖像水印實現(xiàn)細(xì)節(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
Java IO中字節(jié)流復(fù)制圖片實現(xiàn)代碼
這篇文章主要介紹了Java IO中字節(jié)流復(fù)制圖片實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-04-04

