分享一道经典Java面试题:
Java 中怎么打印数组?
你可以使用 Arrays.toString() 和 Arrays.deepToString() 方法来打印数组。由于数组没有实现 toString() 方法,所以如果将数组传递给 System.out.println() 方法,将无法打印出数组的内容,但是 Arrays.toString() 可以打印每个元素。
答案过于简单,所以进一步相关知识点:
Java输出数组的内容
转载作者博客主页:http://blog.youkuaiyun.com/chszs1. 输出内容最常见的方式
- // List<String>类型的列表
- List<String> list = new ArrayList<String>();
- list.add("First");
- list.add("Second");
- list.add("Third");
- list.add("Fourth");
- System.out.println(list);
输出:
[First, Second, Third, Fourth]
- // String数组
- <pre name="code" class="java">String[] array = new String[] { "First", "Second", "Third", "Fourth" };
- System.out.println(array.toString());</pre>
输出:
[Ljava.lang.String;@12dacd1
2. 使用Array类输出数组内容
- // String数组
- String[] array = new String[] { "First", "Second", "Third", "Fourth" };
- System.out.println(Arrays.toString(array));
输出:
[First, Second, Third, Fourth]
3. 输出数组的数组
可以使用Arrays.deepToString()方法。- String[] arr1 = new String[] { "Fifth", "Sixth" };
- String[] arr2 = new String[] { "Seventh", "Eight" };
- // 数组的数组
- String[][] arrayOfArray = new String[][] { arr1, arr2 };
- // 比较下面的输出<br>
- System.out.println(arrayOfArray);<br>
- System.out.println(Arrays.toString(arrayOfArray));<br>
- System.out.println(Arrays.deepToString(arrayOfArray));<br>
输出:
[[Ljava.lang.String;@1ad086a
[[Ljava.lang.String;@10385c1, [Ljava.lang.String;@42719c]
[[Fifth, Sixth], [Seventh, Eighth]]
再看下面的完整例子:
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- public class PrintArray {
- public static void main(String[] args) {
- List<String> list = new ArrayList<String>();
- list.add("First");
- list.add("Second");
- list.add("Third");
- list.add("Fourth");
- System.out.println(list);
- String[] array = new String[] { "First", "Second", "Third", "Fourth" };
- System.out.println(array.toString());
- System.out.println(Arrays.toString(array));
- String[] arr1 = new String[] { "Fifth", "Sixth" };
- String[] arr2 = new String[] { "Seventh", "Eigth" };
- String[][] arrayOfArray = new String[][] { arr1, arr2 };
- System.out.println(arrayOfArray);
- System.out.println(Arrays.toString(arrayOfArray));
- System.out.println(Arrays.deepToString(arrayOfArray));
- }
- }
输出:
[First, Second, Third, Fourth]
[Ljava.lang.String;@12dacd1
[First, Second, Third, Fourth]
[[Ljava.lang.String;@1ad086a
[[Ljava.lang.String;@10385c1, [Ljava.lang.String;@42719c]
[[Fifth, Sixth], [Seventh, Eigth]]