java基礎之 Arrays.toString()方法詳解

在實際項目中,如果想要把數組中的內容打印出來,直接使用toString方法隻會打印出數組的地址,因此需要使用Arrays的toString方法,

可以從其內部實現中看出來,該方法支持入參可以是long,float,double,int,boolean,byte,object 型的數組。

補充:java中arrays.toString(int [ ] arr)方法的底層原理

我就廢話不多說瞭,大傢還是直接看代碼吧~

/**
*@author:肖佳嘉
*
*/
 * public static String toString(int[] a)
 * public static void sort(int[] a)
 * public static int binarySearch(int[] a,int key)
 * 
 * public static String toString(int[] a) {
   if (a == null)  //如果傳入的數組是null
    return "null";  //返回null
   int iMax = a.length - 1;  //iMax最大索引
   if (iMax == -1)  //如果數組中沒有元素
    return "[]";  //返回[]
 
   StringBuilder b = new StringBuilder(); //線程不安全,效率高
   b.append('[');  //將[添加到字符串緩沖區中
   for (int i = 0; ; i++) {  //遍歷數組,判斷語句沒有寫默認是true
    b.append(a[i]);  //把第一個元素添加進字符串緩沖區
    if (i == iMax)  //如果索引等於瞭最大索引值
     return b.append(']').toString(); //將]添加到字符串緩沖區,在轉換成字符串並返回
    b.append(", ");  //如果不等於最大索引就將, 添加到緩沖區
   }
 }

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: