この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

列挙

列挙型は、ユーザが指定した識別子の有限のセットのうちの 1 つだけを値に持つ抽象データ型です。列挙型は通常、番号付けされた順序を持たない使用可能な値のセットを定義します。典型的な例としては、一組のトランプや特定の季節などがあります。

列挙型の各値は一意の整数値に対応しますが、列挙型ではこの実装が非表示になります。実装を非表示にすることで、演算処理の実行などに値を間違って使用するのを防ぎます。列挙型を作成した後、変数、メソッド引数、戻り値をこのデータ型として宣言できます。

Java と異なり、列挙型自体にはコンストラクタ構文はありません。

メモ

列挙型を定義するには、宣言で enum キーワードを使用し、値のリストを中括弧で区切ります。たとえば、次のコードは Season という列挙型を作成します。

1public enum Season {WINTER, SPRING, SUMMER, FALL}

列挙型 Season を作成すると、Season という新しいデータ型も作成されます。この新しいデータ型は、他のデータ型と同じように使用できます。次に例を示します。

1Season southernHemisphereSeason = Season.WINTER;
2
3public Season getSouthernHemisphereSeason(Season northernHemisphereSeason) {
4
5    if (northernHemisphereSeason == Season.SUMMER) return southernHemisphereSeason;
6     //...
7}

クラスを列挙型として定義することもできます。列挙型クラスを作成する場合、定義では class キーワードは使用しないでください。

1public enum MyEnumClass { X, Y }

列挙型は、他のデータ型名を使用できるすべての場所で使用できます。列挙型の変数を定義する場合、その変数に割り当てるオブジェクトはその列挙型クラスのインスタンスである必要があります。

webservice メソッドは列挙型を署名の一部として使用できます。この場合、関連付けられた WSDL ファイルには列挙型とその値の定義が含まれ、API クライアントはその定義を使用できます。

Apex には、次のシステム定義の列挙型があります。

  • System.StatusCode

    すべての API 演算子の WSDL ドキュメントに公開される API エラーコードに対応します。次に例を示します。

    1StatusCode.CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY
    2StatusCode.INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY

    状況コードの完全なリストは、組織の WSDL ファイルから入手できます。組織の WSDL ファイルへのアクセスについての詳細は、Salesforce ヘルプの「Salesforce WSDL およびクライアント認証証明書のダウンロード」を参照してください。

  • System.XmlTag:

    webservice メソッドから返される結果 XML の解析に使用する XML タグのリストを返します。詳細は、XmlStreamReader クラス」を参照してください。

  • System.LoggingLevel:

    この列挙型は system.debug メソッドと共に使用して、すべての debug コールのログレベルを指定します。詳細は、「System クラス」を参照してください。

  • System.RoundingMode:

    この列挙は、数学的演算を実行して演算の丸め動作を指定するメソッドで使用されます。典型的な例としては、Decimal divide メソッドおよび Double round メソッドがあります。詳細は、「丸めモード」を参照してください。

  • System.SoapType:

    Field Describe Result の getSoapType メソッドによって返されます。詳細は、「SOAPType 列挙」を参照してください。

  • System.DisplayType:

    Field Describe Result の getType メソッドによって返されます。詳細は、「DisplayType 列挙」を参照してください。

  • System.JSONToken:

    この列挙は JSON コンテンツの解析に使用されます。詳細は、「JSONToken 列挙」を参照してください。

  • ApexPages.Severity:

    Visualforce メッセージの重要度を指定します。詳細は、「ApexPages.Severity 列挙」を参照してください。

  • Dom.XmlNodeType:

    DOM ドキュメントのノードタイプを指定します。

システム定義の列挙型は Web サービスメソッドで使用できません。

メモ

システム列挙型を含むすべての列挙型の値には、共通メソッドが関連付けられています。詳細は、「列挙メソッド」を参照してください。

ユーザ定義のメソッドは列挙型の値に追加できません。