ToString java массивов

У меня есть несколько массивов в классе

Я хочу реализовать toString() для печати всех значений.

Как это сделать?

public String var1[];   
public int var2[];
public String var3[][];
public int var4[];
public int var5[][];

public String toString() {

        for(String s :  var1) {
              System.out.println(s.toString());           
        }


        return  null;
    }

Это печатает все содержимое var1 [], но как распечатать все? Должен ли я поставить цикл для каждого из них?

Ответ 1

Вы можете использовать статический вспомогательный метод Arrays.toString() следующим образом:

String lines[] = getInputArray();
System.out.println(java.util.Arrays.toString(lines));

Ответ 2

Я думаю, что вы ищете Arrays.deepToString()

Подробнее см. эту ссылку. Он принимает массив и вызывает toString() для каждого элемента.

Ответ 3

String someArray = new String[] {"1", "2"};
String toString = Arrays.asList(someArray).toString();

Приведенный выше код выведет toString в более читаемом формате:

[1, 2]

Если вы используете JDK 1.5, вы можете использовать:

String[] strings = { "ABC", "DEF" };
String s = Arrays.toString(strings); 

Ответ 4

Прежде всего, это зависит от размера ваших массивов. Вы не указали ни одного размера для каждого из них. Конечно, мы можем использовать for each. Во-вторых, очевидно, что нужно печатать все на экране. это вопрос.

В случае, если вы перейдете с нормальным for loop [ex: for(int i=0;i<ar.length();i++)] в этом случае. Вы должны пройти индивидуальный цикл для каждого массива.

Если размер вашего массива одинаковый для всех. Вы можете просто использовать один цикл для итерации всех них, чтобы распечатать его.

Подсказка: не забывайте обрабатывать исключение ArrayOutofBound. Вам понадобится следующее: P