Newer Version Available
enum
列挙型は、ユーザが指定した識別子の有限のセットのうちの 1 つだけを値に持つ抽象データ型です。列挙型は通常、一組のトランプや特定の季節など、番号付けされた順序を持たない使用可能な値のセットを定義します。列挙型の各値は一意の整数値に対応しますが、その整数値を演算処理の実行に使用するなど、ユーザが間違って使用するのを防ぐため、列挙型はこの実装を非表示にします。列挙型を作成した後、変数、メソッド引数、戻り値をこのデータ型として宣言できます。
列挙型を定義するには、宣言で enum キーワードを使用し、値のリストを中括弧で区切ります。たとえば、次のコードは Season という列挙型を作成します。
1public enum Season {WINTER, SPRING, SUMMER, FALL}列挙型 Season を作成すると、Season という新しいデータ型も作成されます。この新しいデータ型は、他のデータ型と同じように使用できます。次に例を示します。
1Season e = Season.WINTER;
2
3Season m(Integer x, Season e) {
4
5 if (e == Season.SUMMER) return e;
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:
この enum は JSON コンテンツの解析に使用されます。詳細は、「JSONToken 列挙」を参照してください。
-
ApexPages.Severity:
Visualforce メッセージの重要度を指定します。詳細は、「ApexPages.Severity 列挙」を参照してください。
-
Dom.XmlNodeType:
DOM ドキュメントのノードタイプを指定します。
システム列挙型を含むすべての列挙型の値には、共通メソッドが関連付けられています。詳細は、「Enum メソッド」を参照してください。
ユーザ定義のメソッドは列挙型の値に追加できません。