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),这样即可删除字符的最后一位。

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

猜你喜欢

转载自blog.csdn.net/qq_42685333/article/details/87873765