java中删除StringBuffer最后一个字段

原文详解:java中删除StringBuffer最后一个字段
原文连接:http://licocom.com/archives/923
在编写代码时遇见字符串拼接,当拼接完成后最后一个字符需要删除的场景。

写的为拼接sql功能,最后一个","需要去除否则sql报错。代码如下:

sql.append(" select id companyId, name companyName ");
sql.append(" from v_company where  v_company.id   ");
sql.append(" in (  ");
for (String str : listCompanyId) {
    sql.append("'");
    sql.append(str);
    sql.append("',");
}
sql.deleteCharAt(sql.length() - 1);
sql.append("  ) ");

这里的sql执行完成后,in条件内会多余一个","导致程序报错,所有我们需要将最后一个字符删除。

查看了JavaApi官方文档的StringBuffer方法

官网提供了两种方案

第一个delete函数我们查看jdk源码如下:
delete-java中删除StringBuffer最后一个字段
两个参数start,end,起始位,结束位来删除,具体多少位不能满足。

第二个deleteCharAt函数我们查看jdk源码如下:

deleteCharAt--java中删除StringBuffer最后一个字段

一个参数index,表示位置,从后删 -1即可。

sql.deleteCharAt(sql.length() - 1),这样即可删除字符的最后一位。

面向开发需求,记录学习之路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值