性能问题:"java.text.MessageFormat.format"对比"StringBuilder" [英] Performance issue: "java.text.MessageFormat.format" vs "StringBuilder"

查看:701
本文介绍了性能问题:"java.text.MessageFormat.format"对比"StringBuilder"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道MessageFormatStringBuilder类的比较. 举个例子,我有一个字符串.对于性能而言,最快的是: java.text.MessageFormat.formatStringBuilder("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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆