記錯toString方法和String.valueof方法

今天在寫算法的時候突然遇到一個問題:

char[] array = {'a','b','c'};
        String s = array.toString();
        String s1 = String.valueOf(array);
        System.out.println(s);
        System.out.println(s1);

這裏我下意識的認爲將一個字符串數組變成一個字符串可以用toString方法。其實toString是在java面向對象編程中經常使用的一個函數,它的源代碼是:

public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

返回此對象所在的類及對應的堆空間對象實體的首地址值。所以在平時我們一般都會重寫toString方法。這個和Sring.valueof方法可能是風馬牛不相及。

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