在开发中,我们常常需要把前台input传入的多个值的数组,拼接成一个字符串,中间用","隔开,再传入到后台做查询
String [] strs = {"铜川","安康","商洛","延安","宝鸡","汉中","榆林","咸阳","西安"}; StringBuilder sb = new StringBuilder(); for (int i = 0; i < strs.length; i++) { sb.append("'"+strs[i]+"',"); } String str = (sb.substring(0,sb.length()-1)).toString();//把最后多余的","去掉
上面这种方法会比较耗时,可能会有String存不下的情况,所以用以下方法存入的话,会更有效率,更安全.
String [] strs = {"铜川","安康","商洛","延安","宝鸡","汉中","榆林","咸阳","西安"}; StringBuilder sb = new StringBuilder(); for (int i = 0; i < strs.length; i++) { sb.append("'"+strs[i]+"'");//拼接单引号,到数据库后台用in查询. if(i!=strs.length-1){//前面的元素后面全拼上",",最后一个元素后不拼 sb.append(","); } }
这种方法和前面输出结果一样,不用做字符串切割最后一位的逗号,更简洁,这样,就可以传入到后台做查询啦(mybatis里in是(${str})这样传值的,需注意是$,而不是#)