Java:定数定義には列挙型(enum)を使用しましょう

Javaで定数を定義する方法として、「定数クラスを作成する」、「インターフェースを使用する」、「列挙型を使用する」、「プロパティファイルを使用する」など様々な手法がありますが、個人的には可読性/保守性を考えた場合「列挙型を使用する」が一番良いと信じているのでここでは列挙型(enum)の使用方法をご紹介します。

列挙型(enum)のメリット

  • 可読性、保守性が容易となる。

列挙型(enum)のデメリット

  • 定数クラスに比べるとコードが多少長くなる。

Javaソース:enumクラスの例

    • 以下はenumクラスの一番基本的なソースコード例です。プライベートコンストラクタを定義する事によって無駄なインスタンス化を抑制しています。

上記の列挙型クラスから値を取得したい場合は以下のように指定します。

さて、上記ソースでは列挙型へ番号だけを指定しましたが、実業務では番号に対応した内容(文字列など)を定義する必要が生じてくる事も良くあります。そういう場合は以下のように列挙型で指定した定数の()内で,区切りで指定する事でその定数に対応した値を複数指定する事も出来ます。

定数クラスでは上記6つの定数を定義する場合、以下の様に6行分指定する必要がありますので、定数クラスでは可読性が落ちるのがお分かりになるかと思います。

いかがでしょうか?
列挙型を使用すれば多少コードは長くなるものの、定数クラスなどに比べて可読性/保守性に優れているというのを感じて頂ければ幸いです。

コメントを残す

メールアドレスが公開されることはありません。

email confirm*

post date*