If you want to create one-line representation of array you can use Arrays.deepToString.
In case you want to create multi-line representation you will probably need to iterate over all rows and append result of Array.toString(array[row]) like
String[][] array = { { "a", "b" }, { "c" } };
String lineSeparator = System.lineSeparator();
StringBuilder sb = new StringBuilder();
for (String[] row : array) {
sb.append(Arrays.toString(row))
.append(lineSeparator);
}
String result = sb.toString();
Since Java 8 you can even use StringJoiner with will automatically add delimiter for you:
StringJoiner sj = new StringJoiner(System.lineSeparator());
for (String[] row : array) {
sj.add(Arrays.toString(row));
}
String result = sj.toString();
or using streams
String result = Arrays
.stream(array)
.map(Arrays::toString)
.collect(Collectors.joining(System.lineSeparator()));