ホームページ >Java >&#&チュートリアル >Java開発で配列を出力する方法

Java開発で配列を出力する方法

无忌哥哥
无忌哥哥オリジナル
2018-07-23 11:14:542568ブラウズ

問題

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]

Answer

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。