开发者社区> 问答> 正文

打印Java数组的最简单方法是什么?

已解决

在Java中,数组不会覆盖toString(),因此,如果您尝试直接打印一个数组,则得到className+'@'+ hashCode数组的十六进制,如下所示Object.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]

展开
收起
保持可爱mmm 2020-01-08 15:38:12 344 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    从Java 5开始,您可以将Arrays.toString(arr)或Arrays.deepToString(arr)用于数组中的数组。请注意,Object[]版本会调用.toString()数组中的每个对象。输出甚至按照您的要求进行修饰。

    例子:

    简单数组:
    
    String[] array = new String[] {"John", "Mary", "Bob"};
    System.out.println(Arrays.toString(array));
    
    输出:
    
    [John, Mary, Bob]
    
    嵌套数组:
    
    String[][] deepArray = new String[][] {{"John", "Mary"}, {"Alice", "Bob"}};
    System.out.println(Arrays.toString(deepArray));
    //output: [[Ljava.lang.String;@106d69c, [Ljava.lang.String;@52e922]
    System.out.println(Arrays.deepToString(deepArray));
    
    输出:
    
    [[John, Mary], [Alice, Bob]]
    
    double 数组:
    
    double[] doubleArray = { 7.0, 9.0, 5.0, 1.0, 3.0 };
    System.out.println(Arrays.toString(doubleArray));
    
    输出:
    
    [7.0, 9.0, 5.0, 1.0, 3.0 ]
    
    int 数组:
    
    int[] intArray = { 7, 9, 5, 1, 3 };
    System.out.println(Arrays.toString(intArray));
    
    输出:
    
    [7, 9, 5, 1, 3 ]
    

    问题来源于stack overflow

    2020-01-08 15:38:28
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载