gpt4 book ai didi

java - 如何在 java 中删除字符串缓冲区的最后一个字符?

转载 作者:搜寻专家 更新时间:2023-11-01 04:05:36 25 4
gpt4 key购买 nike

我有以下代码,我想从 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com