作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有以下代码,我想从 StringBuffer
中删除最后附加的字符:
StringBuffer Att = new StringBuffer();
BigDecimal qty = m_line.getMovementQty();
int MMqty = qty.intValue();
for (int i = 0; i < MMqty;i++){
Att.append(m_masi.getSerNo(true)).append(",");
}
String Ser= Att.toString();
fieldSerNo.setText(Ser);
我想在最后一个值出现后删除“,”(完成 For 循环后)
最佳答案
对于您的具体用例,请考虑@AndyTurner 的回答。在大多数情况下,不处理稍后将被丢弃的数据是最有效的解决方案。
否则,回答你的问题,
How to remove last character of string buffer in java?
您可以使用 StringBuffer.setLength()
简单地调整 StringBuffer
的长度:
...
StringBuffer buf = new StringBuffer();
buf.append("Hello World");
buf.setLength(buf.length() - 1);
System.err.println(buf);
...
输出:
Hello Worl
请注意,这要求 StringBuffer
中至少有一个字符可用,否则您将得到一个 StringIndexOutOfBoundsException
。
如果给定长度小于当前长度,setLength
方法本质上是将 AbstractStringBuilder
类的 count
成员设置为给定长度新长度。在这种情况下,不会执行其他操作,如字符数组复制。
关于java - 如何在 java 中删除字符串缓冲区的最后一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36997525/
我是一名优秀的程序员,十分优秀!