Arrays之toString方法

源码解析---------Arrays之toString()

package cn.delingw;
public class Demo {
    public static void main(String[] args) {
        // 创建数组
        int a[] = new int[10];
        // 随机给数组赋值(随机整数--------0-100之间,取不到100)
        for (int i = 0; i < a.length; i++) {
            a[i] = (int) (Math.random() * 100);
        }
        // 调用 toString方法
        System.out.println(toString(a));
    }

    // toString方法
    public static String toString(int[] a) {
        // 判断数组是否为空
        if (a == null) {
            return "Null";
        }
        // 数组大小-1 (数组的下标从0开始)
        int iMax = a.length - 1;
        //如果等于-1,则说明是空数组(0-1=-1)
        if (iMax == -1) {
            return "[]";
        }
        // 创建一个容器
        StringBuilder stringBuilder = new StringBuilder();
        //开始用左中括号
        stringBuilder.append("[");
        /**
         * 做循环  将数组的数依次加到容器中,当i和iMax一致时,则返回右中括号
         * 否则继续循环,并且每个数之间用逗号隔开
         */
        for (int i = 0; ; i++) {
            stringBuilder.append(a[i]);
            if (i == iMax)
                return stringBuilder.append("]").toString();
            stringBuilder.append(",");
        }

    }
}

Guess you like

Origin blog.csdn.net/qq_40805639/article/details/117884307