StringBuffer stringBuffer = new StringBuffer(); for (Map.Entry<String, String> entry : hashMap.entrySet()) { String a = " , "; String sql1 = " ADD " + entry.getKey() + " VARCHAR(255) comment " + "'" + entry.getValue() + "'" + a ; stringBuffer.append(sql1); }怎么判断如果当前sql1是最后一个就不加a
时间: 2024-02-14 11:09:19 浏览: 70
你可以在循环内部增加一个判断,当当前元素是最后一个元素的时候,就不加上"a"。
可以使用Map.Entry中的方法判断当前entry是不是最后一个元素,可以使用Map的size()方法得到Map的大小,然后在循环内部使用一个计数器变量,判断当前元素是否为最后一个元素。代码如下:
```java
StringBuffer stringBuffer = new StringBuffer();
int count = 0;
for (Map.Entry<String, String> entry : hashMap.entrySet()) {
String a = " , ";
String sql1 = " ADD " + entry.getKey() + " VARCHAR(255) comment " + "'" + entry.getValue() + "'";
if (++count == hashMap.size()) {
// 当前元素是最后一个元素,不加上"a"
stringBuffer.append(sql1);
} else {
stringBuffer.append(sql1).append(a);
}
}
```
在这个例子中,我们使用一个计数器变量count来记录当前循环到第几个元素。当count等于Map的大小时,就说明当前元素是最后一个元素,就不加上"a"。否则,就在sql1后面加上"a"。最后,我们使用StringBuffer的append()方法将所有sql1拼接起来。
阅读全文