//拼接出来的字符串不带多余的 逗号
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
在做各种字符串封装的时候,不免用循环拼装字符串,如下:
在做各种字符串封装的时候,不免用循环拼装字符串,如下:
- String [] arr= {"1","2","3","4"};
- StringBuffer sb= new StringBuffer();
- for(int i = 0; i < arr.length; i++){
- sBuffer.append(arr[i]).append(",");
- }
现在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();