java - 最简单的方法来打印一个Java数组是什么?

  显示原文与译文双语对照的内容

在Java中,数组不覆盖 toString(),所以如果你尝试直接打印,就会得到奇怪的输出,包括内存位置:


int[] intArray = new int[] {1, 2, 3, 4, 5};
System.out.println(intArray);//prints something like '[I@3343c8b3'

但通常我们想要更多的东西 [1, 2, 3, 4, 5] 什么是最简单的方法? 下面是一些输入和输出示例:


//array of primitives:
int[] intArray = new int[] {1, 2, 3, 4, 5};
//output: [1, 2, 3, 4, 5]

//array of object references:
String[] strArray = new String[] {"John","Mary","Bob"};
//output: [John, Mary, Bob]

时间:

在 Java 5中,为数组中的数组指定 Arrays.toString(arr) 或者 Arrays.deepToString(arr) 。 并添加注意对象 [] 版本调用数组中每个对象的.toString() 。 以确切的方式你是asking,正确( 如果我没有记错了,输出为偶数 decorated.

编辑:不要忘记添加 import java.util.Arrays;:


package packageName;
import java.util.Arrays;
...

总是先检查标准库。 尝试以下方法:


System.out.println(Arrays.toString(array));

或者如果数组包含其他数组作为元素:


System.out.println(Arrays.deepToString(array));

不过,这是很好的,因为对于"总是先检查标准库",我永远不会发现 Arrays.toString( myarray )的技巧

--since我专注于类型的myarray,看看如何做。 我不想重复这个事情: 我想要一个简单的调用,使它与我在 Eclipse 调试器和 myarray.toString() 中看到的类似。


import java.util.Arrays;
.
.
.
System.out.println( Arrays.toString( myarray ) );

在 JDK1.8 中,你可以使用聚合操作和lambda表达式:


String[] strArray = new String[] {"John","Mary","Bob"};

Arrays.asList(strArray).stream().forEach(s -> System.out.println(s));

/* output:
John
Mary
Bob
*/

在我看来,使用普通的循环是打印数组的最简单方法。 这里有一个基于你的intArray的示例代码


for (int i = 0; i <intArray.length; i++) {
 System.out.print(intArray[i] +",");
}

它将输出作为你的1,2,3,4,5

Arrays.deepToString(arr) 只在一行上打印。


int[][] table = new int[2][2];

要想让一张表格作为二维表格打印,我必须这样做:


System.out.println(Arrays.deepToString(table).replaceAll("],","]," + System.getProperty("line.separator")));

Arrays.deepToString(arr) 方法应该使用一个分隔符字符串,但不幸的是它没有。

有几种方法可以在java中打印数组。

-**第一个正在使用 Arrays.toString(name of the array )

代码示例:


 int[] intArray = new int[] {1, 2, 3, 4, 5};
 System.out.println(Arrays.toString(intArray));

-**We也可以使用 Arrays.asList(name of the array )

代码示例:


 int[] intArray = new int[] {1, 2, 3, 4, 5};
 System.out.println(Arrays.asList(intArray));

  • 我们可以使用foreach循环打印一个数组。

    代码示例:

    
     int[] intArray = new int[] {1, 2, 3, 4, 5};
     for(int array : intArray)
     {
     System.out.println(array);
    
    
  • 使用简单的循环。

    代码示例:

    
     int[] intArray = new int[] {1, 2, 3, 4, 5};
     for(int i=0; i<intArray.length/2; i++)
     {
     System.out.println(intArray[i]);
     }
    
    
  • 如果想用自己的方式格式化输出,也可以使用用户定义的函数。。

    我希望这将有效。happy愉快编码。

** 不要忘记以以下方式添加Java库包。


 import java.util.Arrays;

...