Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit c2ebd5e

Browse files
Create What's-the-simplest-way-to-print-a-Java-array.md
1 parent 1000ff2 commit c2ebd5e

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
java中打印一个数组最简单的方法是什么
2+
===
3+
问题
4+
---
5+
在java中,数组没有重写toString()方法,所以我如果直接调用数组toStrign()方法的话,我会知道得到它的内存地址。像这样:
6+
```java
7+
int[] intArray = new int[] {1, 2, 3, 4, 5};
8+
System.out.println(intArray); // 有时候会输出 '[I@3343c8b3'
9+
```
10+
但是实际上我想要的输出效果是
11+
```java
12+
[1, 2, 3, 4, 5]
13+
```
14+
所以打印一个数组最简单的方法是什么?我想要的效果是
15+
```java
16+
// 数字数组:
17+
int[] intArray = new int[] {1, 2, 3, 4, 5};
18+
//输出: [1, 2, 3, 4, 5]
19+
20+
// 对象数组:
21+
String[] strArray = new String[] {"John", "Mary", "Bob"};
22+
//输出: [John, Mary, Bob]
23+
```
24+
25+
回答
26+
---
27+
在JAVA5中使用 Arrays.toString(arr) 或 Arrays.deepToString(arr)来打印数组。
28+
29+
不要忘了引入import java.util.Arrays;
30+
```java
31+
package packageName;
32+
import java.util.Arrays;
33+
```
34+
35+
```java
36+
int[] intArray = new int[] {1, 2, 3, 4, 5};
37+
System.out.println(Arrays.toString(intArray));
38+
//输出: [1, 2, 3, 4, 5]
39+
40+
String[] strArray = new String[] {"John", "Mary", "Bob"};
41+
System.out.println(Arrays.deepToString(strArray));
42+
*//输出: [John, Mary, Bob]
43+
```
44+
Arrays.deepToString与Arrays.toString不同之处在于,Arrays.deepToString更适合打印多维数组<br>
45+
比如: <br>
46+
47+
```java
48+
String[][] b = new String[3][4];
49+
for (int i = 0; i < 3; i++)
50+
{
51+
for (int j = 0; j < 4; j++)
52+
{
53+
b[i][j] = "A" + j;
54+
}
55+
}
56+
System.out.println(Arrays.toString(b));
57+
//输出[[Ljava.lang.String;@55e6cb2a, [Ljava.lang.String;@23245e75, [Ljava.lang.String;@28b56559]
58+
System.out.println(Arrays.deepToString(b));
59+
//输出[[A0, A1, A2, A3], [A0, A1, A2, A3], [A0, A1, A2, A3]]
60+
61+
```
62+
stackoverflow链接: http://stackoverflow.com/questions/409784/whats-the-simplest-way-to-print-a-java-array

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /