ただの適当な開発記

会社勤めしつつUnityでアプリ作ってる人の雑記

enumクラスをstatic import

enum Yasai{
TOMATO,
NINJIN,
KYURI,
DAIKON
}

っていうenumを使うときは
Yasai y = Yasai.TOMATO
のようにYasai.が必要になるわけですが、
毎回書くのは面倒です。
static importを用いるとこのYasai.の部分を省略することができます。

例えば

public class Gohan{
	enum Yasai{
		TOMATO,
		NINJIN,
		KYURI,
		DAIKON
	}
	public static void main(String[] args){
		Yasai y = Yasai.TOMATO;
	}
}

というコードのenum部を別のコード内に記載しpackageの中に入れてstatic importしてみます。

      • /enums/Yasai.java---
package enums;

public enum Yasai{
	TOMATO,
	NINJIN,
	KYURI,
	DAIKON
}
import static enums.Yasai.*;
import enums.Yasai;

public classGohan{
	public static void main(String[] args){
		Yasai y = TOMATO;
	}
}

こんな感じですかね。enumの要素が増えて条件分岐が多くなったときとかに見やすさがわかると思います。
enumの列挙名はクラス名と同じ扱いなため、publicのついたenum名はソースファイル名と同じでなければいけなく、一つしか定義できないようです。


http://www.ne.jp/asahi/hishidama/home/tech/java/enum.html
http://www.ne.jp/asahi/hishidama/home/tech/java/package.html#static_import