java中删除StringBuffer最后一个字段
在编写代码时遇见字符串拼接,当拼接完成后最后一个字符需要删除的场景。
写的为拼接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源码如下: 两个参数start,end,起始位,结束位来删除,具体多少位不能满足。
第二个deleteCharAt函数我们查看jdk源码如下:
一个参数index,表示位置,从后删 -1即可。
sql.deleteCharAt(sql.length() - 1),这样即可删除字符的最后一位。
面向开发需求,记录学习之路。
下一篇:
List集合遍历三种方法