自己实现打印数组内容对比Arrays.toString

自己的实现,需要删除多余的“, ” 

    public static String toString(int[] result) {
        //新建StringBuilder
        StringBuilder stringBuilder = new StringBuilder();
        //打印左[
        stringBuilder.append("[");
        //循环打印元素和", "
        for (int i : result) {
            stringBuilder.append(i);
            stringBuilder.append(", ");
        }
        //删除多的", "
        stringBuilder.delete(stringBuilder.length() - 2, stringBuilder.length());
        //打印末尾的"]"
        stringBuilder.append("]");
        return stringBuilder.toString();
    }

Arrays.toString()

    public static String toString2(int[] a) {
        if (a == null)
            return "null";
        //获取最后一个元素的下标
        int iMax = a.length - 1;
        //巧妙的利用下标,判断是否是空数组
        if (iMax == -1)
            return "[]";

        StringBuilder b = new StringBuilder();
        b.append('[');
        //无条件for循环
        for (int i = 0; ; i++) {
            b.append(a[i]);
            //如果是最后一个元素,那么就打印结尾并返回
            if (i == iMax)
                return b.append(']').toString();
            //否则打印", "
            b.append(", ");
        }
    }

猜你喜欢

转载自blog.csdn.net/zjxht62/article/details/105706720