从Format对象中检索格式字符串

时间:2009-04-13 17:33:06

标签: java introspection string-formatting

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

在代码中:

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

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

我看了toPattern();但是这个函数没有出现在抽象的Format类中,而我正在使用的变量可以是扩展Format的任何东西。

4 个答案:

答案 0 :(得分:1)

模式(如果有的话)取决于Format的子类。无法保证Format甚至可以使用模式进行格式化。

编辑:我不确定你要做什么,但是如果你需要坚持一个Format实例,它就是Serializable。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

从父格式中没有已知的直接方法。因为模式实际存在于Format层次结构的叶子中(SimpleDateFormat,MessageFormat,ChoiceFormat,DecimalFormat);其中有方法。由于它似乎是惯例,你可以通过反思来获得它。

答案 3 :(得分:0)

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

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