更新時間:2022-07-26 11:34:34 來源:動力節點 瀏覽1695次
當我們對 java 對象數組進行打印的時候,會遇到輸出內容是 className + '@' + 16 進制的 hashcode 組成的字符串,Java數組輸出的方式主要有以下 3 種方式。
從 java 1.5 之后,針對簡單的數組(如一維數組),可以使用 Arrays.toString(arr),具體如下:
String[] array = new String[] {"Knowledge", "Dict", "Good"};
System.out.println(Arrays.toString(array));
輸出如下:
[Knowledge, Dict, Good]
需要強調的是,除了基本類型及 String 這種已經 toString 方法打印內容邏輯之外,其他封裝的類對象要在 toString 方法里 override 內容輸出。
數組的打印,本質上是執行每個對象的 toString 方法。
也是從 java 5 之后,針對嵌入的數組(Nested Array),如二維數組,數組里面再嵌套其他數組的,可以用 Arrays.deepToString(deepArray) 靜態方法。
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]]
可以通過 for 循環,自定義打印輸出的內容。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習