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(); 
  
  
  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM