拼凑字符串时,去除末尾多余字符的几个方法

在拼接字符串的时候,经常会发现多了,不想要的字符,让人很是烦恼,这下面总结三个可以去掉烦恼的方法。

//循环生成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;
	}

总结:方法一和方法二都还是比较常用的,不过个人感觉方法二在处理很长的字符串时可能会效率不高,方法三就感觉略有麻烦了。

posted @ 2018-08-17 17:34  会飞的一棵树  阅读(550)  评论(0编辑  收藏  举报