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