我有下一个 map :

{title=varchar(50), text=text}

我正在尝试将其转换为两个字符串,如下所示:
StringBuffer string = new StringBuffer();
for (String keyinside: values.keySet()) {
    string.append(keyinside + " " + values.get(keyinside) + ", ");
}

但是我想要的是-在最后一次迭代中不要包含“,”。我该怎么做?

最佳答案

使用一些指标:

StringBuffer string = new StringBuffer();
boolean first = true;
for (String keyinside: values.keySet()) {
    if (!first)
        string.append (", ");
    else
        first = false;
    string.append(keyinside + " " + values.get(keyinside));
}

顺便说一句,使用StringBuilder更为有效(假设您不需要线程安全)。

09-07 05:17