写这个方法背景在于,Mybatis传IN参数
1.将List<String>集合 转化为'1','2','3','4','5'
import org.apache.commons.lang.StringUtils;
public class StrUtils {
/**
* 将List<String>集合 转化为String
* 如{"aaa","bbb"} To 'aaa','bbb'
*/
public static String listToString(List<String> stringArray,String separator){
StringBuilder sb = new StringBuilder();
sb.append("'");
sb.append(StringUtils.join(stringArray.toArray(),separator));
sb.append("'");
return sb.toString();
}
public static void main(String[] args) {
List<String> array =new ArrayList<String>();
array.add("aaa");
array.add("bbb");
String listToString = listToString(array, "','");
System.out.println(listToString);
}
}
2. 将"1,2,3,4,5..."这种形式的字符串转成"'1','2','3','4'..."这种形式
/***
* 将"1,2,3,4,5..."这种形式的字符串转成List<String> 集合
* @param strs
* @return
* */
public static List<String> converStringToList(String strs) {
if (StringUtils.isNotBlank(strs)) {
String[] idStrs = strs.trim().split(",");
if (null != idStrs && idStrs.length > 0) {
List<String> strsList = new ArrayList<String>();
for (String str : idStrs) {
if (StringUtils.isNotBlank(str)) {
strsList.add(str.trim());
}
}
if (strsList.size() > 0) {
return strsList;
}
}
}
return null;
}
3.将"1,2,3,4,5..."这种形式的字符串转成List<String> 集合
/**
将"1,2,3,4,5..."这种形式的字符串转成"'1','2','3','4'..."这种形式
@param strs
@return
*/
public static String converString(String strs) {
if (StringUtils.isNotBlank(strs)) {
String[] idStrs = strs.trim().split(",");
if (null != idStrs && idStrs.length > 0) {
StringBuffer sbf = new StringBuffer("");
for (String str : idStrs) {
if (StringUtils.isNotBlank(str)) {
sbf.append("'").append(str.trim()).append("'").append(",");
}
}
if (sbf.length() > 0) {
sbf = sbf.deleteCharAt(sbf.length() - 1);
return sbf.toString();
}
}
}
return "";
}