はじめに
皆さん、Arrays.toString()メソッドご存知ですか?
今回このメソッドを使用しようとして1時間くらいハマってしまったので、記事にします。
※Arrays.toString()メソッドを使うべきでないところで使ってしまった話です
今回の経緯
以下のようなListからどうにかして s1,s2,s3,s4,s5
という文字列を生成したくなりました。
test.java
List<String> temp = new ArrayList<String>();
temp.add("s1");
temp.add("s2");
temp.add("s3");
temp.add("s4");
temp.add("s5");
絶対便利なメソッドあるよな~と思って見つけたのがArrays.toString()メソッド!
試しに出力してみます。
test.java
List<String> temp = new ArrayList<String>();
temp.add("s1");
temp.add("s2");
temp.add("s3");
temp.add("s4");
temp.add("s5");
System.out.println(Arrays.toString(temp.toArray()));
出力結果
[s1, s2, s3, s4, s5]
いい感じじゃないですか。これでいける!となりました。
ミスったこと
これ、最初と最後に鍵括弧がついた文字列である、ということに気付いておらず、処理がうまくすすまない…なぜ…?と1時間くらい格闘していました。
[s1, s2, s3, s4, s5]
結局どうしたの?
StringBufferに地道に「,」をappendして文字列を作りました。
単純な話ですが、同じ過ちにハマる人もいるかもしれないので、記しておきます…
2021/10/26追記
コメントにいただいたコードが素晴らしいです。