この記事の目次
Salesforceにおける列挙型とは?
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/356a192b7913b04c54574d18c28d46e6395428ab/5fcca967-cc4a-4daa-b504-9a65d2eadfc3.jpg)
列挙型の特徴
列挙型の特徴は以下の3つがあります。 ①複数の列挙子(定数)を1つの型として統一し、管理することができます。 ②1つの列挙子(定数)に複数の表現を定義することができます。 ③列挙子(定数)に共通の処理を定義することができます。列挙型の定義・使用方法
![](https://www.pakutaso.com/shared/img/thumb/kuchikomi668.jpg)
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における列挙型について
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/9e08934fd24485c7d9e691a312f16a4ef7ff96eb/35243f00-6773-4465-8ac2-7ac2bb3bf90c.jpg)
APEXにおける列挙型の種類
![](https://www.pakutaso.com/shared/img/thumb/PAK85_MBAdesagyou20140312_TP_V.jpg)
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
システム列挙型を含むすべての列挙型の値には、共通メソッドが関連付けられています。ユーザー定義のメソッドは列挙型の値に追加できません列挙型のメソッド
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/356a192b7913b04c54574d18c28d46e6395428ab/88b68205-89bf-4e26-b8a3-738e569d5e8e.jpg)
List values = StatusCode.values();
・name
列挙項目の名前を文字列として返します。
(例)
String s = StatusCode.DELETE_FAILED.name();
・ordinal
0から始まる列挙値の、リスト内の項目位置を整数として返します。列挙値にユーザー定義メソッドを追加することはできません。
(例)
Integer i = StatusCode.DELETE_FAILED.ordinal();
列挙型は複数の定数をまとめて定義する際に便利!
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/9e08934fd24485c7d9e691a312f16a4ef7ff96eb/654bd373-e8cd-4bfa-b2e9-6a2405b5a5ff.jpg)
この記事の監修者・著者
![株式会社オープンアップITエンジニア](https://tenshoku-careerchange.jp/wp-content/uploads/2023/07/fzxADbr-_400x400-1-150x150.jpg)
-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
最新の投稿
- 2024年3月26日キャリア・転職保安職(自衛官・警察・消防官など)に向いている人の性格・特徴ランキング【現役保安職(自衛官・警察・消防官など)36人が回答】
- 2024年3月26日キャリア・転職保安職(自衛官・警察・消防官など)に必要なスキルランキング&スキルアップの方法とは?【現役保安職(自衛官・警察・消防官など)36人が回答】
- 2024年3月26日キャリア・転職クリエイター職(ライター・デザイナー・編集)に向いている人の性格・特徴ランキング【現役クリエイター職(ライター・デザイナー・編集)64人が回答】
- 2024年3月26日キャリア・転職クリエイター職(ライター・デザイナー・編集)に必要なスキルランキング&スキルアップの方法とは?【現役クリエイター職(ライター・デザイナー・編集)64人が回答】