Java 中不常見的陣列「ToString()」
在Java 中,toString() 方法可望提供有用的人類可讀的方法物件的字串表示。然而,在處理數組時,這種期望並不成立。
陣列ToString() 的特殊性
考慮以下程式碼:
char[] Array = {'a', 'b', 'c', 'd', 'e', 'f'}; System.out.println(Array.toString());
這段程式碼,而不是回傳預期的字串「abcdef」 「[C@6e1408」或「[C@e53108。」
出現此行為是因為Java 的預設陣列toString() 實作會產生一個神秘字串,其中包含:
解
要取得陣列的人類可讀取的字串表示形式,請使用靜態Arrays.toString( ) 方法相反:
System.out.println(Arrays.toString(Array));
此方法明確傳回所需的「abcdef」字串。
基本原理
Java 選擇使用神秘的 toString( ) 陣列的實作通常被視為錯誤。這種設計背後的意圖可能是在調試時優先考慮內存地址,但事實證明,它在日常使用中更令人困惑,而不是有幫助。
以上是為什麼 Java 的「toString()」方法會產生陣列的隱密輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!