【发布时间】:2016-03-26 19:16:20
【问题描述】:
假设我想在 java 中使用 PrintWriter 打印许多字符串,例如 "Hello" + var1 + "|" + var2。
我的第一个选择是使用类似的东西:
Output.print("Hello" + var1 + "|" + var2);
其中Output 是PrintWriter 实例。在这种情况下,Java 必须连接所有项目(有些可能需要转换为String),然后传递一个String 参数来写入。
也许这样会更有效:
void PrintMsg(PrintWriter Output, String... Msg) {
for(String M : Msg) Output.write(M);
}
在这种情况下,我会打电话给PrintMsg(Output, "Hello", var1, "|", var2);。没有串联开销,但仅适用于 String 参数。如果var1、var2 不是String,我将不得不致电:
PrintMsg(Output, "Hello", var1.toString(), "|", var2.toString());
或像这样重写PrintMsg:
void PrintMsg(PrintWriter Output, Object... Msg) {
for(Object M : Msg) Output.write(M.toString());
}
我想知道您对如何做到这一点的最佳方式的看法。 提前致谢。
【问题讨论】:
-
如果你真的有很多串联要执行,我建议你使用
StringBuilder
标签: java string printing output concatenation