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 中国語 Web サイトの他の関連記事を参照してください。