用于连接字符串
一次
老的可靠的
"str" + param + "other str"
非常好(它实际上被编译器转换为
StringBuilder
)
如果必须不断地向字符串中添加内容,那么StringBuilder主要是有用的,但不能将它们全部放入一个语句中。例如,采用for循环:
String str = "";
for (int i = 0; i < 1000000; i++) {
str += i + " "; // ignoring the last-iteration problem
}
这将比等效的StringBuilder版本慢得多:
StringBuilder sb = new StringBuilder(); // for extra speed, define the size
for (int i = 0; i < 1000000; i++) {
sb.append(i).append(" ");
}
String str = sb.toString();
但这两者在功能上是等效的:
String str = var1 + " " + var2;
String str2 = new StringBuilder().append(var1).append(" ").append(var2).toString();
说了这么多,我的实际答案是:
int fileCount = 1273;
String diskName = "MyDisk";
Object[] testArgs = {new Long(fileCount), diskName};
MessageFormat form = new MessageFormat("The disk \"{1}\" contains {0} file(s).");
System.out.println(form.format(testArgs));
输出:
The disk "MyDisk" contains 1,273 file(s).
还有静电
format
不需要创建
MessageFormat
对象。
所有这些库都将归结为最基本级别的字符串连接,因此它们之间的性能差别不大。