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

クラスListFormat

java.lang.Object
java.text.Format
java.text.ListFormat
すべての実装されたインタフェース:
Serializable, Cloneable

public final class ListFormat extends Format
ListFormatは、ロケール依存の方法で文字列のリストを書式設定または解析します。 ListFormatを使用して、エンド・ユーザーに表示される文字列のリストを作成します。 たとえば、3つの平日("月曜日"、"水曜日"、"金曜日"など)のリストを包含リスト・タイプで"月曜日、水曜日、金曜日"として表示します。 このクラスは、Unicode Consortiumの「パターンのリスト」のLDML仕様で定義された機能を提供します。

3つのフォーマット・タイプが用意されています: STANDARDORおよびUNIT。文字列と接続する単語(ある場合)の間の句読点を決定します。 また、タイプごとに3つの書式設定スタイルが提供されます: FULLSHORTおよびNARROW。文字列の省略形(または非表示)に適しています。 次のスニペットは、STANDARD型およびFULLスタイルを使用して、米国英語の文字列"Foo", "Bar", "Baz"のリストを書式設定する例です。

ListFormat.getInstance(Locale.US, ListFormat.Type.STANDARD, ListFormat.Style.FULL)
    .format(List.of("Foo", "Bar", "Baz"))
これにより、次のように連結リスト文字列"Foo、Bar、Baz"が生成されます。
書式設定の例
FULL SHORT NARROW
STANDARD Foo、Bar、Baz Foo、Bar、& Baz Foo、Bar、Baz
OR Foo、Bar、またはBaz Foo、Bar、またはBaz Foo、Bar、またはBaz
UNIT Foo、Bar、Baz Foo、Bar、Baz Foo Bar Baz
ノート: これらの例はCLDRからのもので、他のロケール・プロバイダとは異なる結果になる可能性があります。

または、ロケール、タイプまたはスタイル(あるいはその両方)の独立インスタンスは、getInstance(String[])を使用して作成できます。 メソッドに対するString配列は、書式設定された文字列のstart/middle/end部分の区切りパターンと、2つまたは3つの要素に対するオプションの特殊パターンを指定します。 詳細は、メソッドの説明を参照してください。

解析時に、入力文字列の区切りシーケンスなど、入力文字列にあいまいさが見つかった場合、結果は同じフォーマットでフォーマットされても、入力文字列は再生成されません。 たとえば、2つの要素の文字列リスト"a、b、"、"c"は"a、bおよびc"としてフォーマットされますが、"a"、"b"、"c"という3つの要素として解析できます。

実装要件:
このクラスは不変でスレッドセーフです
導入されたバージョン:
22
外部仕様
関連項目: