首頁 >Java >java教程 >Java開發中數組的列印方法

Java開發中數組的列印方法

无忌哥哥
无忌哥哥原創
2018-07-23 11:14:542554瀏覽

問題

因為 Java 陣列中沒有 toString() 方法,所以我如果直接呼叫陣列toStrign()方法的話,只會得到它的記憶體位址。像這樣,顯得並不人性化:

int[] intArray = new int[] {1, 2, 3, 4, 5};
System.out.println(intArray);     // 有时候会输出 '[I@3343c8b3'

所以輸出一個陣列最簡單的方法是什麼?我想要的效果是

// 数字数组:
int[] intArray = new int[] {1, 2, 3, 4, 5};
//输出: [1, 2, 3, 4, 5]

// 对象数组:
String[] strArray = new String[] {"John", "Mary", "Bob"};
//输出: [John, Mary, Bob]

回答

在 Java 5 以上中使用 Arrays.toString(arr) 或 Arrays.deepToString(arr)來列印(輸出)陣列。

不要忘了引入import java.util.Arrays;

package packageName;
import java.util.Arrays;
int[] intArray = new int[] {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(intArray));
//输出: [1, 2, 3, 4, 5]

String[] strArray = new String[] {"John", "Mary", "Bob"};
System.out.println(Arrays.deepToString(strArray));
*//输出: [John, Mary, Bob]

Arrays.deepToString與Arrays.toString不同之處在於,Arrays.deepToString更適合列印多維數組
例如: 

String[][] b = new String[3][4];
        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 4; j++)
            {
                b[i][j] = "A" + j;
            }
        } 
        System.out.println(Arrays.toString(b));
        //输出[[Ljava.lang.String;@55e6cb2a, [Ljava.lang.String;@23245e75, [Ljava.lang.String;@28b56559]
        System.out.println(Arrays.deepToString(b));
        //输出[[A0, A1, A2, A3], [A0, A1, A2, A3], [A0, A1, A2, A3]]

以上是Java開發中數組的列印方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn