Java中数组的toString方法

11

我在一个类中有几个数组。

我想要实现 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[]的所有内容,但是如何打印全部呢?我需要为每一个都放一个循环吗?

4个回答

25
你可以使用 Arrays.toString() 静态辅助方法,如下所示:
String lines[] = getInputArray();
System.out.println(java.util.Arrays.toString(lines));

1
例如,导入java.util.Arrays后,您可以使用以下代码:System.out.println(Arrays.toString(var1)); - Adrian Petrescu

5
我认为您要寻找的是Arrays.deepToString()函数。
请参考此链接以了解更多信息。该函数接受一个数组,并在每个元素上调用toString()函数。

1
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); 

1

首先,它取决于您的数组大小。您没有提及每个数组的大小。当然,我们可以使用for each。第二个问题显然是如何想要将它们全部打印在屏幕上。

如果您选择使用普通的for loop [例如:for(int i=0;i<ar.length();i++)]在这种情况下,您必须为每个数组单独循环。

如果所有数组的大小都相同,则可以使用一个循环迭代所有数组并将其打印出来。

提示:不要忘记处理ArrayOutofBound异常。你会需要它 :P


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接