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数组内容的打印