數組/集合本身**不會自動格式化輸出**。System.out.println(arr) 只會打印引用地址(如 [I@15db9742)。
// 1. 手動循環(適用於數組)
for (int v : arr) System.out.print(v + " ");
// 2. 利用集合 toString()(推薦)
List list = Arrays.asList(3, 2, 1);
// 排序後
Collections.sort(list);
System.out.println(list); // 輸出: [1, 2, 3]
| 類型 | 輸出方式 | 原理 |
|---|---|---|
基本類型數組 int[] | for/Arrays.toString() | 無 toString 重寫,需手動遍歷或工具類 |
集合 List<Integer> | 直接 println | AbstractCollection.toString() 內部迭代調用元素 toString |
Arrays.toString(arr) 一行搞定。List + Collections.sort 或 Stream,語義更清晰。