【Javaプログラミング】enum:列挙型とは?使い方についても分かりやすく-プロショvol.60

スポンサーリンク
列挙 Java攻略
スポンサーリンク

はじめに

 

今回は列挙型と呼ばれるenumについて見ていく。

使い方について、実際に作ったコードで一つずつ理解することを目標にする。

 

列挙型とは?

 

enum」と表されるこのコードは英語の「enumerated」の略。
日本語訳で「具体的に並べ立てる:列挙」という。

 

列挙型は複数の定数をまとめることができる特別な種類の「Javaクラス」。

定数とは?
値を変更することができない変数のことを定数という。

 

列挙型の作り方

 

クラスやインターフェースなどを作成するときに使う「class」や「interface」の代わりに「enum」を使用する。

 

 

enumの中に書かれる定数は、それぞれカンマ(,)で区切る

定数の文字は大文字で書かれる。

 

enumの構文は以下の通り。

enum enumクラス名{変数1,変数2・・・}

 

列挙型のプログラム

 

以下に列挙型を使ったプログラムを作ってみた。

enum weekly{
MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SANDAY
}
public class WeeklyMain {
public static void main(String[] args) {
weekly youbi=weekly.TUESDAY;
System.out.println(youbi);}

}

実行すると以下が表示される。

TUESDAY

enumの中には定数を並べ立てる

 

メインクラスでenumを呼び出すときには、オブジェクトは作成することは出来ない。

呼び出し方が通常と少し異なるから注意が必要。

 

オブジェクトを作成するわけではないから「new」がいらないのか。

weekly youbi=weekly.TUESDAY;

イコールの左側は今までと一緒。

右側は、「new」ではなくenumクラスの名前と、enumの中に書いた表示させたい定数をドットで繋ぐ

 

これで「youbi」というオブジェクト名に定数の「TUESDAY」が格納された。

 

System.out.println( );」の中に「youbi」を入れることでTUESDAY表示される。

 

クラスの中にenumを書いた場合

 

上で見たのはメインメソッドがあるクラスの外側に書かれたものだった。

enumはクラスの中にも書くことができる。

public class WeeklyMain {

enum weekly{
MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SANDAY
}

public static void main(String[] args) {

weekly youbi=weekly.TUESDAY;
System.out.println(youbi);

}

}

クラスの外側に書かれていたenumの部分を「WeeklyMain」クラスの直下に書いたもの。

これを実行しても上と同じ結果の「TUESDAY」が得られる。

 

ただ、enumはメインメソッドの中には書くことができず、書くとエラーが出る

 

列挙型の特徴

 

列挙型の特徴として以下のものが挙げられる。

  • クラスのような形を持ち、中にコンストラクタメソッドを使用することができる
  • ほかのクラスの中にも書くことができる
  • インターフェースを使うこともできるが、匿名クラスのように拡張することはできない
  • forループやswitchを使うことができる
  • 最初から「public」「static」「final」という要素が含まれている

enumはどのクラスからでもアクセスできるpublic)し、オブジェクトの作成不要static)で、初期値を変えることができないfinal)ということ。

 

最後に

 

曜日、春夏秋冬など、変わらない(変えたくない)情報の時にenumを使うといい。

オブジェクトは作成できないのが今までとちょっと違うけれど、呼び出し方は似ているから覚えやすそう。

今までに見てきたコードと組み合わせて使ってみたいと思った。

 

 

 

このエントリーをはてなブックマークに追加

コメント

タイトルとURLをコピーしました