Java中的多个数组toString

时间:2011-02-07 21:19:56

标签: java tostring

我试图在Java中覆盖toString方法,从两个数组(字符串)输出到一个字符串,然后我可以用换行符格式化,我假设使用/ n。我刚刚掌握了Java,在查看了文档之后,我仍然感到困惑的是这样的语法应该如何看待。如果有人有一个例子,他们可以告诉我,或者可以解释这样做的好方法,我将非常感激。

2 个答案:

答案 0 :(得分:6)

如果您有一个包含两个数组的类,并且想要覆盖toString方法来显示这些数组,那么:

@Override
public String toString() {
    return Arrays.toString(array1) + " " + Arrays.toString(array2);
}

这是一个完整的例子:

import java.util.Arrays;

public class Test {

    int[] array1 = { 1, 2, 3 };
    String[] array2 = { "Hello", "World" };

    @Override
    public String toString() {
        return Arrays.toString(array1) + " " + Arrays.toString(array2);
    }

    public static void main(String[] args) {
        System.out.println(new Test());
    }
}

<强>输出:

[1, 2, 3] [Hello, World]

这是一个带有换行符的版本:

public class Test {

    int[] array1 = { 1, 2, 3 };
    String[] array2 = { "Hello", "World" };

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("array1:\n");
        for (int i : array1)
            sb.append("    ").append(i).append('\n');

        sb.append("\narray2:\n");
        for (String s : array2)
            sb.append("    ").append(s).append('\n');

        return sb.toString();
    }

    public static void main(String[] args) {
        System.out.println(new Test());
    }
}

<强>输出:

array1:
    1
    2
    3

array2:
    Hello
    World

答案 1 :(得分:0)

要覆盖toString,你需要创建一个新类,因为它继承自Object,并且它不需要两个参数,如果你创建一个其中有2个数组字符串的类,那么你绝对可以做到这一点。