首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MessageFormat对StringBuffer

MessageFormat对StringBuffer
EN

Stack Overflow用户
提问于 2012-12-11 16:48:50
回答 4查看 1.1K关注 0票数 1

我明白了,在Java中你可以用

  • MessageFormat和一个类似于"You said {0} just now"的字符串
  • StringBuffer和类似的构造 StringBuffer mail =新StringBuffer(“亲爱的");mail.append(user.name);mail.append(",\n恭喜!”);.
  • 可能还有其他好的选项,字符串连接不是其中之一。

那么,我应该使用哪种方法呢?我的想法是:我有5-6个标准文本,我必须动态地替换一些内容。我认为最好将文本作为常量(包含常量或属性文件的类),并在需要时快速替换。否则,我将在源代码的中间有字符串,这些字符串可能有一天会被更改,比如StringBuffer("Dear ")

我还有更好的选择吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-12-11 17:06:47

代码语言:javascript
复制
    String str = new StringBuffer().append("Hello").append("World").toString();
    System.out.println(str);

            //print Hello World 

             it contain into package import java.text.MessageFormat;
             "When you using Message format"
              Object[] values = { "123456", "asdfjk" };

    String output = MessageFormat.format("Value 1 equals: {0} and Value 2 equals{1}", values);
    System.out.println(output);
    // prints:
    // The value of value 1 is: 123456 The value of value 2 is: asdfjk
票数 1
EN

Stack Overflow用户

发布于 2012-12-11 16:51:08

如果这是你想要生成的电子邮件,我建议两种方法都不要。我更希望看到用于lettter或email主体的速度模板,该模板将Java对象的值映射到其上下文中。这将更容易理解和维护。模板可以从代码中外部化,因此更改更容易。

票数 1
EN

Stack Overflow用户

发布于 2012-12-11 17:15:54

你应该相信最简单和最清晰的东西。我个人会用

代码语言:javascript
复制
String mail = "Dear " + user.name + ",\nCongratulations!";

它比使用StringBuffer或MessageFormat更短,效率更高。

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

https://stackoverflow.com/questions/13824720

复制
相关文章

相似问题

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