NETJVM 

列挙と列挙型

列挙は、曜日の値などの定数値のリストを表す。その値やシンボリック名を定義する列挙型を宣言できる。その後、値を名前別に参照できる。

たとえば、曜日の列挙型は次のように宣言する。

enum-id DaysOfWeek as "DaysOfWeek".01 binary-long.78 Sunday value 0.*> optional, as 0 is the default 78 Monday.*> by default, this is value 1 78 Tuesday.*> by default, this is value 2 and so on 78 Wednesday.78 Thursday.78 Friday.78 Saturday. end enum.

これで、コード内でこの列挙型を次のように参照できるようになる。

set today to type DaysOfWeek::Monday

DaysOfWeek::Monday は binary-long の値 1 を表す。

コンパイラは、列挙の値を含む配列を返す「values」という静的メソッドを追加する。このメソッドと PERFORM THROUGH コンストラクトを一緒に使用して、列挙型の値を反復できる。

ENUM-ID 段落を使用して列挙を宣言できる。この後には、次の内容で構成される作業場所節が続く。

注: COBOL for JVM では、Java と同様に、列挙宣言で列挙クラスが定義される。このクラスは、java.lang.Enum から派生するクラスである。Java では、この列挙クラスはメソッドおよびその他のフィールドをユーザーが明示的に宣言できるが、COBOL では許容されない。