kiyo_hikoのブログ

メモ+日記?

Java:文字列のjoin

Perlで見るようなjoinがJavaにもほしくて作った。

public class StringUtils {
	public static String join(Object[] os) {
		return join(os, "");
	}
	
	public static String join(Object[] os, String sep) {
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < os.length; i++)
			sb.append(os[i].toString())
			  .append(i == os.length - 1 ? "" : sep);
		return sb.toString();
	}
	
	public static String join(List<? extends Object> os) {
		return join(os, "");
	}
	
	public static String join(List<? extends Object> os, String sep) {
		return join(os.toArray(), sep);
	}
	
	public static void main(String[] args) {
		List<String> ssList = new ArrayList<String>();
		ssList.add("いぬ");
		ssList.add("さる");
		ssList.add("きじ");
		System.out.println(join(ssList, "、そして、"));
	}
}


セパレーターなし単発の引数でもつなぐようにした。