for循环拼接字符串去掉最后的逗号

//拼接出来的字符串不带多余的 逗号
for (int i=0;i<lista.Count;i++)
{
if(i!=lista.Count-1)
{
str+= lista[i]+",";
}
else
{
str+= lista[i];
}
}
//如果 lista 是 数组 可以使用 array.Join(','); 获取不带多余逗号。

有时候在调用服务器接口时,需要给服务器传递的参数是需要客户端进行拼接字符串的:

private String merchantIds="";
if (tempDeletelist != null && tempDeletelist.size() > 0){

 // 这里一定要注意:在任何需要拼接字符串之前的地方,一定要 merchantIds = "",
 // 否则拼接的merchantIds字符串就会错乱、重复,这里一定要注意 !!!
 merchantIds = "" ;
 for (int i = 0; i < tempDeletelist.size(); i++) {
      String id = tempDeletelist.get(i).getMerchantId()+"";
      merchantIds += id ;
      merchantIds += "," ;
 }
 if (merchantIds.endsWith(",")){
       merchantIds = merchantIds.substring(0,merchantIds.length()-1) ;
 }

// 然后把 拼接的 merchantIds传递给 服务器即可
doDeleteProduct(merchantIds,tempDeletelist) ;

------------------------------------------java 实现方式-------------------------------------

https://blog.csdn.net/qq_19309473/article/details/108396553

在做各种字符串封装的时候,不免用循环拼装字符串,如下:

在做各种字符串封装的时候,不免用循环拼装字符串,如下:

  1. String [] arr= {"1","2","3","4"};
  2. StringBuffer sb= new StringBuffer();
  3. for(int i = 0; i < arr.length; i++){
  4. sBuffer.append(arr[i]).append(",");
  5. }


现在sb.toString()的值是:1,2,3,4, 最后想要的结果是1,2,3,4

也就是说,我们要想办法去掉字符串的最后一个字符,解决方法有很多的,哪一种实现起来更优雅一些呢?

方法一:

String result= sb.toString().substring(0, sb.toString().lastIndexOf(","));

方法二:

String result= sb.substring(0, sb.length() - 1);

方法三:目前认为是最好的方法

String result= sb.deleteCharAt(sb.length() - 1).toString(); 
原文地址:https://www.cnblogs.com/sunny3158/p/14608527.html