2

或者:是否有另一个实用程序能够同时格式化字符串和解析字符串(使用相同的对象!)可以实现这一点?

假设您有一个目录,.au其中包含格式名称遵循模式的音频文件country.code.XX.au。我们可能希望使用MessageFormatwith 模式格式化和解析这些文件名的重要部分country.{0}.au

但是考虑这个演示:

public class MessageFormatExercise {
    public static void main(String[] args) throws Exception {
        java.text.Format f = new java.text.MessageFormat("country.{0}.au");

        // String formatting; prints "country.code.us.au" and "country.code.au.au" respectively
        System.out.println(f.format(new Object[]{"code.us"}));
        System.out.println(f.format(new Object[]{"code.au"}));

        // String parsing; prints "code.us" and "code" respectively (not "code.au"!)
        System.out.println(((Object[]) f.parseObject("country.code.us.au"))[0]);
        System.out.println(((Object[]) f.parseObject("country.code.au.au"))[0]);
    }
}

解析结果不一致。在某些情况下,我们得到code.us,或者code.gb但在澳大利亚的情况下,我们得到简单的code.

4

0 回答 0