title: 拼凑字符串时,去除末尾多余字符的几个方法
date: 2018-08-17 22:12:58
tags: [Java,方法]
在拼接字符串的时候,经常会发现多了,不想要的字符,让人很是烦恼,这下面总结三个可以去掉烦恼的方法。
//循环生成json格式数据
public static String CreateJson() {
String json="{\"content\":[";
for(int i=0;i<5;i++) {
json+="{\"value\":"+i+"},";
}
json+="]}";
return json;
}
上面的代码生成的json格式数据(最后多了一个逗号):
{
"content": [{
"value": 0
}, {
"value": 1
}, {
"value": 2
}, {
"value": 3
}, {
"value": 4
},]
}
方法一:若已知循环的次数,则可以通过if判断解决:
public static String CreateJson() {
String json="{\"content\":[";
for(int i=0;i<5;i++) {
json+="{\"value\":"+i+"}";
//以知循环的次数,如是数组集合,知道长度就能处理
if(i<4) {
json+=",";
}
}
json+="]}";
return json;
}
方法二:使用subString截取字符串:
public static String CreateJson() {
String json="{\"content\":[";
for(int i=0;i<5;i++) {
json+="{\"value\":"+i+"},";
//subString截取第0个至最后减一
json=json.substring(0, json.length()-1);
}
json+="]}";
return json;
}
方法三:将String类型转换为StringBuffer,再删除
public static String CreateJson() {
String json="{\"content\":[";
for(int i=0;i<5;i++) {
json+="{\"value\":"+i+"},";
}
json+="]}";
//将String转换为StringBuffer
StringBuffer buffer = new StringBuffer(json);
//删除逗号
buffer.delete(buffer.length()-3, buffer.length()-2);
//再将StringBuffer转换为String
json = new String(buffer);
return json;
}
总结:方法一和方法二都还是比较常用的,不过个人感觉方法二在处理很长的字符串时可能会效率不高,方法三就感觉略有麻烦了。