2011-02-07 1 views
1

Я пытаюсь переопределить метод toString в Java для вывода из двух массивов (строк) в строку, которую я могу форматировать с разрывами строк, которые я предполагаю использовать/n. Я просто разбираюсь с Java, и, посмотрев документацию, я все еще озадачен тем, как должен выглядеть синтаксис для чего-то подобного. Если у кого-то есть пример, он может показать мне или объяснить хороший способ сделать это, я был бы очень благодарен.Множественный массив toString в Java

+0

Когда вы говорите, что хотите обрабатывать 2 массива на строках в одну строку. Вы имеете в виду, что вам нужны массивы {«This», «is», «a»} {«random», «sentence»}, чтобы стать строкой типа «This/nis/na/nrandom/string»? Если бы вы не уточнили, что именно хотите? –

ответ

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 
+0

Спасибо, это похоже на то, что я искал. Я дам вам знать, как это происходит: D еще раз спасибо. – user319940

+0

Если это похоже на то, что вы просили, было бы неплохо отметить ответ как правильный. –

+0

Я сделаю, как только попробую. – user319940

0

Чтобы перезаписать toString вам нужно создать новый класс, так как это унаследованный от Object, и это Безразлично» t возьмите два аргумента, если вы сделаете класс, в котором есть 2 строки массива, тогда вы можете это сделать.