01.数组内容打印(String形式)

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

相关推荐