首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java 二維陣列輸出:Arrays.deepToString() 完整指南

     編輯:程式設計疑難解答

一維陣列可用 Arrays.toString(arr) 直接列印,但二維(或多維)陣列若直接用 toString 只會輸出參考位址(如 [[Ljava.lang.String;@15db9742)。正確做法是使用 Arrays.deepToString()。

範例程式碼

import java.util.Arrays;

public class Array2DDemo {
    public static void main(String[] args) {
        String[][] arr = {
            {"1", "2", "3"},
            {"4", "5", "6"}
        };

        // 錯誤示範
        System.out.println(Arrays.toString(arr)); 
        // 輸出: [[Ljava.lang.String;@... (無意義)

        // 正確做法
        System.out.println(Arrays.deepToString(arr));
        // 輸出: [[1, 2, 3], [4, 5, 6]]
    }
}

deepToString vs toString 差異

方法適用維度輸出內容
Arrays.toString()一維陣列元素值,以逗號分隔
Arrays.deepToString()多維陣列 (任意深度)遞迴展開所有層級元素值

適用場景

  • 除錯時快速查看多維陣列內容。
  • 單元測試驗證陣列預期值。
  • 日誌記錄陣列狀態。

注意事項

  • 若陣列元素為 null,輸出會顯示 null。
  • 極大陣列列印可能影響效能,生產環境謹慎使用。
  • 自訂物件陣列需正確實作 toString() 才能顯示有意義資訊。

掌握 deepToString,讓多維陣列除錯不再盲目。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved