int hoge[] = {1,2,3,4,5};
String mumu = arrayToString(hoge);
で
mumu = ”12345”;
みたいな関数です。
昔、Arrayクラスがあったのですが、今はありません。toString()は、ObjectクラスのメソッドなのでArrayに対してtoString()するとなんらかのStringが返されてきていたはずです。ただ、期待するものとは違うと思われます。
いまは、
プリミティブ(基本データ)タイプの配列にいてはラッパークラスのtoString()を使い以下のように
int[] n = {1,2,3,4,5};
String s = ””;
for(int i=0; i<a.length; i++) {
s += Integer.toString(n[i]);
}
参照型の配列に対して、オーバーライドされたtoString()を使いいかのように
Object[] o = {...........};
String s = ””;
for(int i=0; i<a.length; i++) {
s += o[i].toString();
}
なると思われます。
よくつかうのであれば、クラスメソッドとして作っておくといいですね。
http://jakarta.apache.org/commons/lang/api/
Lang 2.3 API
Jakarta-CommonsのLangに、同様のメソッドが用意されています。
StringUtilsクラスのjoin(Object[] array)メソッドがそれです。
http://jakarta.apache.org/commons/lang/api/org/apache/commons/la...
StringUtils (Lang 2.3 API)
(java.lang.Object[])
使い方は以下の通りです。
import org.apache.commons.lang.StringUtils;
〜〜(省略)〜〜
String anArray = new String { ”A”, ”B”, ”C” }; //intの配列でも可能です。
String joinedString = StringUtils.join(anArray);
実行すると、joinedStringに文字列”ABC”が取得できます。
※実行時、commons-langのjarファイルにクラスパスが通っている必要があります。
commons-langのjarファイルは、以下のURLからダウンロード可能です。
プロジェクトの状況や都合等によりCommons-Langを利用できない場合は、ご自分でコーディングすることになると思います。
その際は、文字列の連結にStringBufferを利用することで、処理の高速化を図ることが出来ます。
例えば、以下のように記述します。
String anArray = new String { ”A”, ”B”, ”C” }; //intの配列でも可能です。
StringBuffer results = new StringBuffer();
for (int j = 0; j < anArray.length; j++) {
results.append(strs[j]);
}
results.toString()により、結果の文字列”ABC”を取り出すことが出来ます。
ありがとうございます!
Jakarta-Commons
http://www.jajakarta.org/commons/
The Ja-Jakarta Site - Commons
すみません、ミスがありました。
Commons-LangのStringUtilsを利用した場合、intの配列を引数に渡すことが出来ません。
さらにもう一つ。
2つ目のサンプルで、
results.append(strs[j]);
としていますが、正しくは
results.append(anArray[j]);
です。
お詫びして訂正致します。
URLは、Jakarta-Commonsの日本語翻訳サイトです。
ありがとうございます!
ありがとうございます!