2013-05-16 2 views
3

Я хочу распечатать содержимое String[][] myArray, используя только один оператор печати.Конкатенация многомерных строковых массивов в java

Очевидно, что массив можно легко распечатать, перейдя через него, но для чистых файлов журнала я хотел бы, чтобы массив был распечатан с использованием только одной строки println/logging и, следовательно, необходимо каким-то образом конкатенировать содержимое массива в одну большую строку хонкера с правильно размещенными символами новой строки.

Всегда можно написать однострочную scala-функцию, чтобы сделать это без пота, но я бы предпочел сохранить только эту java.

Есть ли простой способ сделать это?

ответ

9

подход, предусматривающий одну строку:

System.out.println(java.util.Arrays.deepToString(myArray));

+0

да, спасибо, узнал что-то ..... – rolfl

2

Go методом anorton в .....

=============================

Конечно, создать метод:

private static final String concatenate(String[][] data) { 
    StringBuilder sb = new StringBuilder(); 
    for (String[] line : data) { 
     sb.append(Arrays.toString(line)).append(\n"); 
    } 
    return sb.toString(); 
} 

Затем вы можете войти:

logger.log(concatenate(data));