【发布时间】:2010-09-14 05:02:57
【问题描述】:
我在 Java 中使用 StringBuffer 将字符串连接在一起,如下所示:
StringBuffer str = new StringBuffer();
str.append("string value");
我想知道是否有添加“填充”的方法(尽管我快速浏览了文档并没有找到任何内容)或其他方式。
让我解释一下;每次我在字符串中附加一些东西时,我都想在最后添加一个空格,如下所示:
String foo = "string value";
str.append(foo + " ");
我有几个电话要追加..每次,我都想添加一个空格。有没有办法设置对象,以便在每次追加后自动添加空格?
编辑 --
String input
StringBuffer query = new StringBuffer();
Scanner scanner = new Scanner(System.in);
scanner.UseDelimiter("\n");
do {
System.out.println("sql> ");
input = scanner.next();
if (!empty(input)) query.append(input);
if (query.toString().trim().endsWith(";")) {
//run query
}
}
while (!input.equalsIgnoreCase("exit");
尽管按照 grom 的建议,我将使用 StringBuilder,但这就是代码现在的样子
【问题讨论】:
-
这可能对你有帮助:stackoverflow.com/questions/63150/…
-
您能否向我们展示一些您在其中附加项目的实际代码?因为也许还有另一种构建字符串的方法更有意义。
-
hmm,我基本上有一个 do-while 循环,它将输入附加到一个字符串,并且当输入以“;”结尾时循环存在
-
使用正则表达式来确定是否运行查询可能更优雅(也更快),例如: if (query.matches(".*;\s*")) {
-
检查输入是否以 ';' 结尾不是更好吗?而不是每次都将缓冲区转换为字符串?
标签: java concatenation stringbuffer