3

在 Java 中有一种方法可以从 Format 对象(或任何派生类)中检索格式字符串

在代码中:

Format f = new DecimalFormat("$0.00");
System.out.println(???);

有什么我可以用来获取 System.out.println(???); 打印“$0.00”。

我看着 toPattern(); 但该函数不会出现在抽象 Format 类中,我正在使用的变量可以是任何扩展 Format 的变量。

4

4 回答 4

1

模式(如果有的话)取决于Format. 不能保证 aFormat甚至会使用模式进行格式化。

编辑:我不确定您要做什么,但是如果您需要保留一个 Format 实例,它是可序列化的。

于 2009-04-13T17:58:26.100 回答
0

我不确定你对代码有什么访问权限,但如果你在第一行应用这个小改动,你应该能够以这种方式获得你正在查看的信息:

DecimalFormat f = new DecimalFormat("$0.00"); 
System.out.println(f.toPattern());
于 2009-04-13T21:38:32.543 回答
0

恐怕没有这样的运气!你必须知道你正在处理哪个子类并调用适当的方法:-(

于 2009-04-13T17:42:38.103 回答
0

没有已知的直接方法可以从父 Format 执行此操作。因为模式实际上存在于格式层次结构的叶子(SimpleDateFormat、MessageFormat、ChoiceFormat、DecimalFormat);其中有 toPattern 方法。由于它似乎是约定,您可以通过反射获得它。

于 2009-04-13T17:42:42.923 回答