关于将数组转换成字符串后输出的问题

近期在Java学习中,学到将数组转换成字符串,将字符数组转换转换成字符串后输出没有问题,但是当我尝试将整型数组转换成字符串后想通过下面这条语句来进行输出:

System.out.print(a);//a是字符串

但是发现得到的只是地址,我现在想要询问的是如何将整型数组转换成的字符串内容给输出出来,在此求教。

public class FacingObject {
    public static void main(String[] args) {
     int[] tt = {1,2,3};
     String a = String.valueOf(tt);
        System.out.print(a);
    }
}

int[] tt = {1,2,3};
System.out.println(ArrayUtils.toString(tt, ","));

输出{1,2,3}

首先,楼主把整型数组转换成字符串的方式是错误的,不能直接用 tt 对象来创建字符串,而是应该用数组的具体内容来转换字符串。
例如:

int[] tt = {1,2,3};
String concate = Arrays.toString(tt);

Arrays 是 util 包中的工具类,可以直接将数组转换成字符串,可以看看它的实现,用拼接字符的方式实现的。

public static String toString(int[] 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(", ");
        }
    }