首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >性能问题:"java.text.MessageFormat.format“vs "StringBuilder”

性能问题:"java.text.MessageFormat.format“vs "StringBuilder”
EN

Stack Overflow用户
提问于 2013-03-12 17:58:41
回答 2查看 7K关注 0票数 8

我想知道MessageFormatStringBuilder类的比较。举个例子,我有一个字符串。就性能而言,java.text.MessageFormat.formatStringBuilder("Test ").append("Hello ")中哪一个更快?

代码语言:javascript
运行
复制
String txt = java.text.MessageFormat.format("Test {0}"," Hello") 
String txt1=   new StringBuilder("Test ").append("Hello ")

我只想知道在最佳实践或性能方面使用哪一个

EN

回答 2

Stack Overflow用户

发布于 2013-03-12 18:09:34

你自己试试吧:

代码语言:javascript
运行
复制
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

StringBuilder: 16705 ns

结论:

StringBuilder的速度要快得多,因为它只是向现有数组中添加了一些字符。

票数 14
EN

Stack Overflow用户

发布于 2013-03-12 18:02:36

StringBuilder只将文本附加到动态缓冲区,而MessageFormat必须在附加数据之前解析给定的格式,因此StringBuilderMessageFormat更有效。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15358090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档