この記事について
DAOから返ってきた値がListに入っていて、その値を連結させて取り出したいときがあるのですけど、
今回はそんなときのやり方について備忘録を残します。
注)2つめのやり方についてはそのまま流用するとコンパイル時に警告が出るので、修正してから
お使いください。
なお、コード自体は、以下のリンク先を参考にしております。
[Java]文字列配列をカンマ区切りの文字列にする
そのまま試してみるには・・・
コマンドプロンプトで以下のコマンドを発行
cd ListTest.javaがあるディレクトリ
javac ListTest.java
java ListTest
<---実行結果---------------------------->
1個目のlistの型class java.lang.String
1個目のlistの中身。カンマ繋ぎ:a,b
2個目のlistの型class java.lang.String
2個目のlistの中身。カンマ繋ぎ:c,d
<--------------------------------------->
コード
ListTest.java
import java.util.*;
public class ListTest{
/*
* Listの書き方を試すプログラム
* 参考
* http://d.hatena.ne.jp/mtoyoshi/20080717/1216299220
*
* @SuppressWarnings でコンパイル警告を無効にしている
*/
@SuppressWarnings("unchecked")
public static void main(String[] args){
/*1つ目
*
*/
List<String> lst = new ArrayList<String>();
lst.add("a");
lst.add("b");
StringBuilder builder = new StringBuilder();
//型の確認
System.out.println("1個目のlistの型" + lst.get(0).getClass());
for(String str : lst) {
builder.append(str).append(",");
}
String result = builder.substring(0, builder.length() - 1);
System.out.println("1個目のlistの中身。カンマ繋ぎ:" + result);
/*2つ目
* List<String> lst2 = new ArrayList<String>(); としないとコンパイル時に警告が発生する
*/
List lst2 = new ArrayList();
lst2.add("c");
lst2.add("d");
StringBuilder builder2 = new StringBuilder();
//型の確認
System.out.println("2個目のlistの型" + lst2.get(0).getClass());
for (int i = 0; i < lst2.size(); i++) {
String str2 = (String)lst2.get(i);
builder2.append(str2).append(",");
}
String result2 = builder2.substring(0, builder2.length() - 1);
System.out.println("2個目のlistの中身。カンマ繋ぎ:" + result2);
}
}