join
今日はsplitの反対。
なぜにコアAPIにないのかと大勢の人が思っているであろう機能。
配列を結合して一つの文字列にする。
public static String join(String[] tokens, char delimiter, char quote, boolean allQuote) { if (tokens == null) { return ""; } StringBuffer ret = new StringBuffer(); for (int i = 0; i < tokens.length; i++) { if (i > 0) { ret.append(delimiter); } ret.append(appendQuote(tokens[i], delimiter, quote, allQuote)); } return ret.toString(); } public static String appendQuote(String text, char delimiter, char quote, boolean all) { if (all || indexAny(text, new char[] {delimiter, quote, '\r', '\n'}) >= 0) { text = text.replaceAll("\\" + quote, "$0$0"); text = quote + text + quote; } return text; } public static int indexAny(String text, char[] ca) { int ret = -1; if (text == null || ca == null) { return ret; } for (int i = 0; i < ca.length; i++) { int tmp = text.indexOf(ca[i]); ret = ret == -1 ? tmp : (tmp == -1 ? ret : Math.min(ret, tmp)); } return ret; }