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