Я пытаюсь переопределить метод toString в Java для вывода из двух массивов (строк) в строку, которую я могу форматировать с разрывами строк, которые я предполагаю использовать/n. Я просто разбираюсь с Java, и, посмотрев документацию, я все еще озадачен тем, как должен выглядеть синтаксис для чего-то подобного. Если у кого-то есть пример, он может показать мне или объяснить хороший способ сделать это, я был бы очень благодарен.Множественный массив toString в Java
ответ
Если у вас есть класс с двумя массивами, и хотите, чтобы переопределить метод 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
Спасибо, это похоже на то, что я искал. Я дам вам знать, как это происходит: D еще раз спасибо. – user319940
Если это похоже на то, что вы просили, было бы неплохо отметить ответ как правильный. –
Я сделаю, как только попробую. – user319940
Чтобы перезаписать toString
вам нужно создать новый класс, так как это унаследованный от Object
, и это Безразлично» t возьмите два аргумента, если вы сделаете класс, в котором есть 2 строки массива, тогда вы можете это сделать.
Когда вы говорите, что хотите обрабатывать 2 массива на строках в одну строку. Вы имеете в виду, что вам нужны массивы {«This», «is», «a»} {«random», «sentence»}, чтобы стать строкой типа «This/nis/na/nrandom/string»? Если бы вы не уточнили, что именно хотите? –