01.陣列內容列印(String形式)
阿新 • • 發佈:2020-12-07
01.陣列內容列印(String形式)
原始碼展示
//Arrays類中的toString方法(接收Long型別的陣列),形參型別可以根據情況去變化 public static String toString(long[] a) { if (a == null) return "null"; int iMax = a.length - 1; if (iMax == -1) return "[]"; StringBuilder b = new StringBuilder(); b.append('['); for (int i = 0; ; i++) { b.append(a[i]); if (i == iMax) return b.append(']').toString(); b.append(", "); } }
思路提取
1.第一步,形參的型別與實參型別保持一致,返回值型別為String 2.第二步,判斷陣列是否為空(引用資料型別應該執行的判斷), 為空則返回null, 不為空進入第三步(不用else,因為滿足if條件的都直接返回一個值並且結束程式了) 3.第三步,拿變數imax(名字隨意)接收形引數組(a)的最後一個位置(陣列長度-1) 4.第四步,判斷imax(陣列最後一個位置)是否為-1,若是,則返回[](代表陣列長度為0) 5.第五步,例項化一個StringBuilder類(陣列內容的拼接,效率較StringBuffer高), 其物件名設stringBuilder 第六步,為stringBuilder新增左括號"["(append) 第七步,遍歷陣列a, 當i的位置不為最後一個時,為stringBuilder新增陣列元素值(a[i])以及逗號(新增分步驟) 當i的位置為最後一個,新增陣列最後一個元素值, 返回stringBuffer物件呼叫toString方法的結果(呼叫前要append上右括號"]",可以一步) //注意:是否為最後一個用到了if條件判斷 if(i==imax) // 為最後一個時,不需要新增逗號了(新增分步驟的原因)
適用範圍
//形參為8種基本資料型別所對應的陣列(short[],byte[],int[],float[],double[],char[],boolean[],long[])
//方法可以推廣到ArrayList陣列內容的列印