我已经使用MessageFormat.format()
一段时间了,但有一件事情让我感到烦恼。
每当您在消息中声明参数时,您必须知道映射参数的位置。例如:
MessageFormat.format("{0} is annoying {1}.", "this", "indeed")
是否有一种类似于MessageFormat
的类,除了让您完全省略参数声明中的参数位置并将其默认为其在消息中的位置之外,在其他方面与其相同,以便第一个参数映射到第一个参数,第二个参数映射到第二个参数,依此类推?例如:
MessageFormat.format("{} is much better{}.", "this", "indeed")
我认为log4j的后续版本也有类似的功能,但我只需要格式化类。
新年快乐!
编辑: 我需要这个功能来进行断言,所以它真的只是用于内部使用,但我感谢您对MessageFormat工作方式的见解。
Formatter
/String.format
不会剥夺本地化消息的能力,但对于正确的思路加一分。 - C. K. YoungString#format()
中使用位置索引参数的语法很难正确使用,但这是真的。 - seh