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

近期在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);
    }
}

2个回答

首先,楼主把整型数组转换成字符串的方式是错误的,不能直接用 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(", ");
        }
    }

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

输出{1,2,3}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问