Object中的tostring與Array中的tostring的區別?

  1. Object 類的 toString 方法返回一個字符串,該字符串由類名(對象是該類的一個實例)、at 
    標記符“@”和此對象哈希碼的無符號十六進制表示組成。Arrays的toString方法是返回指定數組內容的字符串表示形式。

  2. 兩者是重名函數關係,沒有複寫。


從意會的角度講,這就好比羊喝水和你喝水一樣,雖然都叫喝水,卻並不盡相同。

從代碼上來看,下面這個事Object類的toString方法:
  public String toString() {   
    return getClass().getName() + "@" + Integer.toHexString(hashCode());   
    }   

 而數組類中並沒有對此方法重寫(override),僅僅是重載(overload)爲類的靜態方法(參見java.util.Arrays)。所以,數組直接使用toString()的結果也是[類型@哈希值]。

 

Object類中的toString:

public String toString():對象描述
打印對象時,調用的對象實際指向的類的自我描述:
全限定類名+@+十六進制的hashCode值。
建議所有的類都複寫此方法。

Arrays類中 的toString:
static String toString(type[] a):
返回指定數組內容的字符串表示形式,多個數組元素之間用英文逗號或空格隔開。
它複寫了Object類中的toString方法。

 

轉自:https://blog.csdn.net/a916121151/article/details/52218893

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章