2012-12-13 28 views

回答

1

String.valueOf不具有字節[]參數,所以它會被處理爲ObjecttoString()方法將被調用,因爲數組不實現此方法,Object.toString()將陣列中的過程和它的結果從而改變每個實例。

如果你想byte[]轉換爲字符串使用構造String(byte[])String(byte[] bytes, Charset charset)

byte[] test = {-51}; 
byte[] test2 = {-51}; 
byte[] test3 = {-51}; 
System.out.println(new String(test)); 
System.out.println(new String(test2)); 
System.out.println(new String(test3)); 

結果:

Í 
Í 
Í 

如果你想查看陣列的內容使用Arrays.toString(byte[])

byte[] test = {-51}; 
byte[] test2 = {-51}; 
byte[] test3 = {-51}; 
System.out.println(Arrays.toString(test)); 
System.out.println(Arrays.toString(test2)); 
System.out.println(Arrays.toString(test3)); 

結果:

[-51] 
[-51] 
[-51] 
1

的楊澤軍的toString任何數組不使用該數組來創建字符串,您可以使用Arrays.toString(test);

0

ValueOf()只是調用給定對象的toString()。如果要打印陣列的內容,請使用Arrays.toString()

0

因爲對於字節數組沒有String.valueOf,所以當你給它byte[]時,它使用String.valueOf(Object obj)