我想知道,在比较MessageFormat
或StringBuilder
类。 我们说一个例子,我有一个字符串。 出于性能明智的哪一个是中快: java.text.MessageFormat.format
或StringBuilder("Test ").append("Hello ")
String txt = java.text.MessageFormat.format("Test {0}"," Hello")
String txt1= new StringBuilder("Test ").append("Hello ")
我只是想知道哪一个是最好的练习或表演的情况下,使用明智的
自己尝试一下:
long start = System.nanoTime();
String txt = MessageFormat.format("Test {0}"," Hello");
System.out.println("MessageFormat: " + (System.nanoTime() - start) + " ns");
start = System.nanoTime();
String txt1 = new StringBuilder("Test ").append("Hello").toString();
System.out.println("StringBuilder: " + (System.nanoTime() - start) + " ns");
输出:
的MessageFormat:1125974纳秒
StringBuilder的:16705个NS
结论:
StringBuilder
工作更快,因为它只是增加了一些字符,以现有的阵列。
StringBuilder
不只是文本追加到动态缓冲器,而MessageFormat
具有附加数据之前解析所述给定的格式,则StringBuilder
比更有效MessageFormat
。