2009-04-13 7 views
3

En Java est-il un moyen de récupérer la chaîne de format à partir d'un objet Format (ou des classes dérivées)chaîne de format Récupération de l'objet Format

Dans le code:

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

Y at-il quelque chose que je peux utiliser obtenir System.out.println (???); pour imprimer "$ 0.00".

J'ai regardé toPattern(); mais cette fonction n'apparaît pas dans la classe Format abstraite et la variable avec laquelle je travaille peut être quelque chose qui étend le format.

Répondre

0

Pas de chance, j'ai peur! Vous devez savoir quelle sous-classe vous utilisez et appeler la méthode appropriée :-(

0

Il n'existe aucune méthode directe connue pour le faire à partir du format parent, car les modèles existent réellement dans les feuilles de la hiérarchie Format (SimpleDateFormat , MessageFormat, ChoiceFormat, DecimalFormat), qui ont des méthodes toPattern, car il semble que ce soit la convention, vous pourriez être en mesure de l'obtenir par la réflexion

1

Le motif (s'il y en a) dépend de la sous-classe de Format Il n'y a aucune garantie qu'un Format utiliserait même un modèle pour son formatage

Éditer: Je ne suis pas sûr de ce que vous essayez de faire, bu t Si vous devez persister une instance de format, il est Serializable.

0

Je ne sais pas ce qui est l'accès que vous avez au code, mais si vous appliquez ce petit changement dans la première ligne, vous devriez être en mesure d'obtenir l'information que vous cherchez de cette manière:

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