0

是否建议使用java.text.MessageFormat对字符串进行操作?或者有什么替代方案?

4

2 回答 2

1

恕我直言,当您需要在外部(例如通过资源)定义它们时, MessageFormats特别有用。

您可以为不同的语言设置不同的 MessageFormat,并且它们可以以适合该语言的不同顺序显示您的字段。

对于最简单的需求,我会使用字符串,+例如

out.println("Message: " + message+", count: "+ count);

对于更复杂的格式化需求,我会使用字符串格式。

put.printf("Percent %6.2f%%, bytes: %,d%n", percent, byteCount);

在您需要能够配置消息格式的地方,我相信 MessageFormat 可能是最佳选择。

于 2012-08-07T10:25:02.010 回答
0

使用 MessageFormat 的优点是

  • 消息格式将来自资源,参数将在运行时动态设置。
  • 消息格式 API 是从实际内容中抽象出消息的一般结构的好方法。
  • MessageFormat 获取一组对象,对其进行格式化,然后将格式化的字符串插入到模式中的适当位置

使用 MessageFormat 的缺点是

  • 不幸的是,在消息格式模式中使用引号的规则有些令人困惑。
于 2012-08-07T10:29:23.493 回答