列挙の紹介:
列挙を使用する理由:
列挙は、Java 1.5の後に追加された新しいタイプです。固定値範囲の変数のセットを定義するために使用できます。
列挙がリリースされる前に、このような変数を定義するために、インターフェイスを定義して異なる変数を定義することがよくあります。
異なる整数割り当てを使用します。しかし、これには明らかな欠点があります。
1。定義された価値の合法性は保証できません。
実際のプログラミングでは、多くの場合、そのような「データセット」があり、その値はプログラムで安定しており、「データセット」の要素は限られています。
たとえば、月曜日から日曜日までの7つのデータ要素が1週間の「データセット」を形成し、春、夏、秋、冬の4つのデータ要素が4つの季節の「データセット」を形成します。
Javaでこれらの「データセット」をより適切に使用する方法は?したがって、列挙は役立ち、次のコードでは酵素の使用法を詳細に導入します。
パッケージcom.ljq.test;/***列挙の使用法の詳細な説明** @author jiqinlin**/public class testenum {/*** normal enum** @author jiqinlin **/public enum colorenum {Red、Green、Yellow、Blue; Jiqinlin **/public Enum seasonenum {//注:列挙は正面に書かれています。そうしないと、春、夏、秋、冬にエラーが発生します。プライベート最終的な静的文字列位置= "test"; public staticシーズンGetseason(){if( "test" .equals(position)return spring; elsereturn winter;}/*** gender** @author jiqinlin **/public Enum gender {// computridhetsを介して執行者を割り当てる必要があります。すべてまたは非割り当てである必要があり、割り当ての一部を割り当てることはできず、その一部は割り当てなしで割り当てることはできません。割り当てがない場合、コンストラクターを書き込むことができず、割り当て編集には男性(「男」)、女性(「女性」); //コンストラクターはデフォルトでのみプライベートにすることができます。 @author jiqinlin **/public enum orderstate {/** cancel*/cancel {public string getname(){return "canceled";}}、/**レビューする*/waitconfirm {public string getname(){return "reviewed";}}支払い ";}}、/**配信{public String getName(){return "receive";}}; public abstract string getName();} public static void main(string [] args){// enumは、変数の割り当てを制限する変数を定義するために使用されるタイプです。割り当ての場合、列挙の値は「enum name.value "colorenum colorenum = colorenum; switch(colorenum){case red:system.out.println(" color is red "); case green:system.out.println(" color is緑 ");青:system.out.println( "color is blue"); break;} // enum system.out.println( "colorenum enum")をtransip.out.println(colorenum color:colorenum.values()){system.out.println(color);} "+colorenum.values()。length+"); lorenum.yellow.ordinal()); // 2system.out.println(colorenum.blue.ordinal()); // 3 //列挙はjava.lang.comの比類のないインターフェイスをデフォルトで実装しますSystem.out.println(colorEnum.red.compareto(colorEnum.green)) --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + seasoneNum.getSeason()); // ------------- System.out.println( "============"); orderstate.values()){system.out.println(order.getname());}}}}}