1. ホーム
  2. java

[解決済み] JavaでtoStringメソッドを使ってint型配列をStringに変換する方法【重複あり

2022-04-26 06:24:04

質問

を使おうとしているのです。 toString(int[]) というメソッドがありますが、やり方が間違っているようです。

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Arrays.html#toString(int[])

私のコード

int[] array = new int[lnr.getLineNumber() + 1];
int i = 0;

System.out.println(array.toString());

と出力されます。

[I@23fc4bec

また、このように印刷してみましたが。

System.out.println(new String().toString(array));  // **error on next line**
The method toString() in the type String is not applicable for the arguments (int[])

このコードは、もっと大きくて複雑なコードから取り出したものですが、必要なら追加することもできます。しかし、これは一般的な情報を与えるはずです。

Oracleのドキュメントにあるような出力を探しています。

文字列表現は、配列の要素のリストを角括弧 ("[]") で囲んで構成されます。隣接する要素は、", "(カンマとスペース)で区切られます。

どのように解決するのですか?

あなたが欲しいのは Arrays.toString(int[]) メソッドを使用します。

import java.util.Arrays;

int[] array = new int[lnr.getLineNumber() + 1];
int i = 0;

..      

System.out.println(Arrays.toString(array));

には、静的な Arrays.toString のヘルパーメソッドは、異なるプリミティブなJavaタイプに対応しています。 int[] にはこうあります。 :

public static String toString(int[] a)

指定された配列の内容を文字列で返します。文字列表現は、角括弧で囲まれた配列の要素のリストで構成されます ( "[]" ). 隣接する要素は、文字 ", " (カンマとスペース)で区切られる。要素は次のように文字列に変換されます。 String.valueOf(int) . 戻り値 "null" もし a が NULL の場合。