Salesforceにおける列挙型とは?概要や使い方についても詳しく解説!
IT・技術関連
更新日:2024.09.05


Salesforceにおける列挙型とは?
列挙型とはユーザーが指定した識別子の有限のセットのうち、1つのみを値に持つ抽象データ型を指します。
基本的に番号付けされた順序を持たない値のセットを定義するために使用されます。例えば、特定の季節や一覧表などによく使用されます。
列挙型の各値は整数値に対応していますが、実装は非表示になります。その理由は実装を非表示にすることで演算処理の実行などで、値を間違えることを防げるからです。
ちなみに列挙型を作成後、変数やメソッド引数、返り値をこのデータ型として宣言することもできます。
なお、Javaと異なり、Salesforceの列挙型自体にはコンストラクタ構文がない点に注意が必要です。
列挙型の特徴
列挙型の特徴は以下の3つがあります。 ①複数の列挙子(定数)を1つの型として統一し、管理することができます。 ②1つの列挙子(定数)に複数の表現を定義することができます。 ③列挙子(定数)に共通の処理を定義することができます。列挙型の定義・使用方法

public enum Fruit { //""class"" ⇒ ""enum"" に書き換える
//列挙子の定義
APPLE,
BANANA,
GRAPE;
}
このように列挙型Fruitを作成すると””Fruit””という新しいデータ型が作成されます。この新しいデータ型は他のデータ型と同じように使用することが可能です。
また、設定した列挙子(定数)を持つenumを変数として保持し、必要に応じて取得することもできます。
下記の例ではAPPLE、BANANA、GRAPEを定数として入力しました。そのため、抽出する際は他の文字列(APPLE、GRAPE)は出力されません。このように、事前に定義した定数のみを抽出できる点がenumのメリットと言えます。
(例)
public class Basket {
public static void main(String[] args) {
Fruit flt = Fruit.BANANA; //enumを取得
System.out.println( flt.toString() ); //BANANA
}
}
さらに、クラスを列挙型として定義することも可能です。
列挙型クラスを作成する場合、定義ではclassキーワードは使用しないように注意しましょう。
(例)
public enum MyEnumClass { A, B }
Apexにおける列挙型について

APEXにおける列挙型の種類

System.StatusCode
この列挙型はすべてのAPI演算子のWSDLドキュメントに公開されるAPIエラーコードに対応できます。 (例)StatusCode.CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY
StatusCode.INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY
状況コードのリストは、組織のWSDLファイルから入手することが可能です。
System.XmlTag
この列挙型はwebserviceメソッドから返される結果XMLの解析に使用するXMLタグのリストを返すことが可能です。System.LoggingLevel
この列挙型はsystem.debugメソッドと共に使用することで、あらゆるdebugコールのログレベルを指定することが可能です。System.RoundingMode
この列挙型は数学的演算を実行して演算の丸め動作を指定するメソッドで使用されます。 例としては、Decimal divideメソッドおよびDouble roundメソッドなどがあります。System.SoapType
この列挙型はFieldDescribeResultのgetSoapTypeメソッドによって返されます。System.DisplayType
この列挙型はFieldDescribeResultのgetTypeメソッドによって返されます。System.JSONToken
この列挙型は、JSONコンテンツの解析に主に使用されます。ApexPages.Severity
この列挙型はVisualforceメッセージの重要度を指定する際に使用されます。Dom.XmlNodeType
システム列挙型を含むすべての列挙型の値には、共通メソッドが関連付けられています。ユーザー定義のメソッドは列挙型の値に追加できません列挙型のメソッド

List values = StatusCode.values();
・name
列挙項目の名前を文字列として返します。
(例)
String s = StatusCode.DELETE_FAILED.name();
・ordinal
0から始まる列挙値の、リスト内の項目位置を整数として返します。列挙値にユーザー定義メソッドを追加することはできません。
(例)
Integer i = StatusCode.DELETE_FAILED.ordinal();
列挙型は複数の定数をまとめて定義する際に便利!

この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ
ITエンジニアの派遣を利用したい企業様へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。