我正在寻找类似于标准格式化程序的智能 Java 字符串格式化程序:
StringBuffer buffer = new StringBuffer();
Formatter formatter = new Formatter(buffer);
formatter.format("hello %1$s, %2$s and %3$s", "me", "myself", "I");
问题是,如果您在格式上犯了错误(例如,您忘记了$s
),则会引发异常。格式化错误消息时,这并不是我真正想要的(因为它不在应用程序的常规路径中,并且可能未经过测试)。
我当然可以定义我自己的类,假设接受一个字符串,用 ( -> )"hello $1, $2 and $3
替换并调用所有参数,但我确信已经开发了更好的解决方案。$1
%1$s
toString()
在某个地方,在某个罐子里……
感谢您提供任何有用的指针。
编辑
我正在寻找类似以下的东西:
String out = MySpecialFormatter.format("hello $1, $2 and $3", "me", "myself", "I");
如果您的格式有错误(好吧,存在拼写错误),它会尽力填写绑定变量,或返回原始格式字符串。