性能问题:"java.text.MessageFormat.format"对比"StringBuilder" [英] Performance issue: "java.text.MessageFormat.format" vs "StringBuilder"
问题描述
我想知道MessageFormat
或StringBuilder
类的比较.
举个例子,我有一个字符串.对于性能而言,最快的是:
java.text.MessageFormat.format
或StringBuilder("Test ").append("Hello ")
?
I want to know in compare of MessageFormat
or StringBuilder
class.
Let say an example i have a String. For performance wise which one is fast among:
java.text.MessageFormat.format
or StringBuilder("Test ").append("Hello ")
?
String txt = java.text.MessageFormat.format("Test {0}"," Hello")
String txt1= new StringBuilder("Test ").append("Hello ")
我只是想知道在最佳实践或性能明智的情况下使用哪个
I just want to know which one is use in case of best practice or performance wise
推荐答案
尝试一下:
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 ns
MessageFormat: 1125974 ns
StringBuilder:16705 ns
StringBuilder: 16705 ns
结论:
StringBuilder
的工作速度更快,因为它只是向现有数组中添加了一些字符.
StringBuilder
works much faster because it just adds some chars to existing array.
这篇关于性能问题:"java.text.MessageFormat.format"对比"StringBuilder"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!