今天在寫算法的時候突然遇到一個問題:
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方法可能是風馬牛不相及。