拼凑字符串时,去除末尾多余字符的几个方法(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;
    }

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

猜你喜欢

转载自blog.csdn.net/weixin_40425481/article/details/81784144
今日推荐