Java中的多个数组toString

use*_*940 1 java tostring

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

aio*_*obe 6

如果你有一个包含两个数组的类,并且想要覆盖toString显示这些数组的方法,你可以:

@Override
public String toString() {
    return Arrays.toString(array1) + " " + Arrays.toString(array2);
}
Run Code Online (Sandbox Code Playgroud)

这是一个完整的例子:

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());
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

[1, 2, 3] [Hello, World]
Run Code Online (Sandbox Code Playgroud)

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

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());
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

array1:
    1
    2
    3

array2:
    Hello
    World
Run Code Online (Sandbox Code Playgroud)