首頁 > Java > java教程 > 主體

java中的tostring方法怎麼用

anonymity
發布: 2019-04-29 09:33:52
原創
7065 人瀏覽過

我們知道呼叫物件的toString()方法會直接輸出物件的屬性訊息,但是具體怎麼實現的?以及如何更好地實現它?現在來學習下。

java中的tostring方法怎麼用

透過ja​​va文檔我們能知道,toString()方法在Object類別裡定義的,其回傳值類型為String類型,回傳類別名稱和它的參考位址。

在進行String類別與其他類型的連接操作時,自動呼叫toString()方法,demo如下:

Date now = new Date();
System.out.println("now = " + now);//相当于下一行代码
System.out.println("now = " + now.toString());
登入後複製

實際應用程式中,可以根據需要在使用者自訂類型中重寫toString()方法,如Stirng類別重寫了toString()方法,傳回字串的值,dome如下

System.out.println(s1);//相当于下一行代码
System.out.println(s1.toString());
登入後複製

基本資料型別轉換為String型別是,呼叫了對應包裝類別的toString()方法,demo如下:

int a = 10;
System.out.println("a = " + a);
登入後複製

現在來看下jdk裡面的源碼是怎麼樣的:

public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
登入後複製

現在我們來實踐使用它:

Person p1 = new Person();
System.out.println(p1.toString());//TestEquals.Person@15db9742
System.out.println(p1);//TestEquals.Person@15db9742 因为输出的时候回默认调用Objec类toString()方法
登入後複製

當我們打印一個對象的參考時,實際上是預設呼叫這個物件的toString()方法

當列印的物件所在類別沒有重寫Object中的toString()方法時,預設呼叫的是Object類別中toString()方法。

傳回此物件所在的類別及對應的堆空間物件實體的首位址值。

當我們列印物件所 在類別中重寫了toString(),呼叫的就是已經重寫了的toString()方法,一般重寫是將類別物件的屬性資訊傳回。

我們也可以自訂一個tostring()方法:

//手动实现
public String toString(){
return " Person:name=" + name +" age=" + age;
}
登入後複製

以上是java中的tostring方法怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板