モジュール java.base
パッケージ java.util

クラスFormatProcessor

java.lang.Object
java.util.FormatProcessor
すべての実装されたインタフェース:
StringTemplate.ProcessorPREVIEW<String,RuntimeException>, StringTemplate.Processor.LinkagePREVIEW

FormatProcessorは、JavaプラットフォームのプレビューAPIです。
プレビュー機能が有効な場合のみ、プログラムでFormatProcessorを使用できます。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
このStringTemplate.ProcessorPREVIEWは、Formatterの仕様およびStringTemplatePREVIEWにある値を使用して、Stringの結果を構築します。 Formatterとは異なり、FormatProcessorPREVIEWは、空白なしで、直後に続く埋込み式の値を使用します。「書式指定子」 たとえば、
FormatProcessor fmt = FormatProcessor.create(Locale.ROOT);
int x = 10;
int y = 20;
String result = fmt."%05d\{x} + %05d\{y} = %05d\{x + y}";
前述の例では、resultの値は"00010 + 00020 = 00030"になります。

フォーマット指定子を先行しない埋込み式では、デフォルトで%sを使用します。

FormatProcessor fmt = FormatProcessor.create(Locale.ROOT);
int x = 10;
int y = 20;
String result1 = fmt."\{x} + \{y} = \{x + y}";
String result2 = fmt."%s\{x} + %s\{y} = %s\{x + y}";
前述の例では、result1およびresult2の値は、両方とも"10 + 20 = 30"になります。

使用されるFormatProcessorPREVIEW書式指定およびスローされる例外は、Formatterのものと同じです。

ただし、引数の位置には2つの大きな違いがあります。 明示的なn$索引および相対<索引は、引数リストが欠落しているために例外を引き起こします。 仕様と埋込み式の間に空白が表示されると、例外も発生します。

FormatProcessorPREVIEWでは、様々なロケールを使用できます。 たとえば、

Locale locale = Locale.forLanguageTag("th-TH-u-nu-thai");
FormatProcessor thaiFMT = FormatProcessor.create(locale);
int x = 10;
int y = 20;
String result = thaiFMT."%4d\{x} + %4d\{y} = %5d\{x + y}";
前述の例では、resultの値は" ๑๐ + ๒๐ = ๓๐"になります。

日常的に使用する場合は、事前定義済のFMT FormatProcessorPREVIEWを使用できます。 FMTは、Locale.ROOTを使用して定義されます。 例:

int x = 10;
int y = 20;
String result = FMT."0x%04x\{x} + 0x%04x\{y} = 0x%04x\{x + y}";
前述の例では、resultの値は"0x000a + 0x0014 = 0x001E"になります。

導入されたバージョン:
21
関連項目: