列挙意義、目的、機能、使用方法、アクションシーン

例特性および列挙で宣言された方法は、以下に示します:

package com.fhp.enumexample;
 
public enum TypeEnum {
    VIDEO(1), AUDIO(2), TEXT(3), IMAGE(4);
    
    int value;
    
    TypeEnum(int value) {
        this.value = value;
    }
    
    public int getValue() {
        return value;
    }
}

この列挙では、各フィールドのint型の値は、対応する列挙を有し、異なる値の列挙は、異なる値INTを有するであろう。同時に、それはあなたがコンストラクタと様々な方法を宣言することができ、普通のクラスです。以下のような:

TypeEnum type = TypeEnum.TEXT;//type的value属性值为3。
System.out.println(type.getValue());//屏幕输出3。

あなたはそれぞれの列挙値の属性を指定したい場合は、列挙には(パブリックではありません)工法の種類に対応した属性パラメータを宣言する必要があります。そうしないと、コンパイラはエラーが定義されていません(int型、String)コンストラクタのTypeEnumを与えるだろう。この実施形態では、属性は、INTは、この方法は非常にint型に構成されるべきです。また、列挙はまたのような複数の属性を指定することができます。

package com.fhp.enumexample;
 
public enum TypeEnum {
    VIDEO(1, "视频"), AUDIO(2, "音频"), TEXT(3, "文本"), IMAGE(4, "图像");
    
    int value;
    String name;
    
    TypeEnum(int value, String name) {
        this.value = value;
        this.name = name;
    }
    
    public int getValue() {
        return value;
    }
    
    public String getName() {
        return name;
    }
}

列挙型はまた、次のように一般的に使用されるメソッドの数を、構築されました:

int compareTo(E o) 
          比较此枚举与指定对象的顺序。


Class<E> getDeclaringClass() 
          返回与此枚举常量的枚举类型相对应的 Class 对象。


String name() 
          返回此枚举常量的名称,在其枚举声明中对其进行声明。


int ordinal() 
          返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。


String toString()
           返回枚举常量的名称,它包含在声明中。


static <T extends Enum<T>> T valueOf(Class<T> enumType, String name) 
          返回带指定名称的指定枚举类型的枚举常量。


static T[] values()

返回该枚举的所有值。

今、列挙列挙値を生成する方法を実施するために想定され、それが整数値に応じて行うことができます。

package com.fhp.enumexample;
 
public enum TypeEnum {
    VIDEO(1, "视频"), AUDIO(2, "音频"), TEXT(3, "文本"), IMAGE(4, "图像");
    
    int value;
    String name;
    
    TypeEnum(int value, String name) {
        this.value = value;
        this.name = name;
    }
    
    public int getValue() {
        return value;
    }
    
    public String getName() {
        return name;
    }
 
    public static TypeEnum getByValue(int value) {
        for(TypeEnum typeEnum : TypeEnum.values()) {
            if(typeEnum.value == value) {
                return typeEnum;
            }
        }
        throw new IllegalArgumentException("No element matches " + value);
    }
}

getByValue(INT)が列挙回転のための数値計算法の整数値です。一致値はIllegalArgumentException例外がスローされていない場合のマッチングを直接、示すパラメータが返された場合、以下に列挙し、指定された整数値の一致のそれぞれについて、その後、すべての列挙値を取得する値()メソッドを呼び出します違法、検証の両方の役割。

要約すると、我々は列挙にJDK5が新しく定数によって表される前にもたらした離散の問題に最適なソリューションを導入していることがわかります、大幅に、読みやすさ、プログラムの使用と保守の容易性を向上させますそれができるように、それが拡張されましたこれに基づいて、使用するクラスのように、それは離散量のJava表現のための新たなレベルまでです。したがって、このような限定カラー、ファッション、カテゴリ、状態、などとして、Javaで数を表現する必要がある場合は、量の離散的な、まだ非常に明確な表現の形で、一定の表現の練習を放棄しようとする必要があり、プライマリ選択肢として列挙されます。
----------------
免責事項:この記事はCSDNブロガー元の記事「Jicky-17」であり、BY-SAの再現著作権契約、CC 4.0に従って、元のソースとのリンクを添付してくださいこの文。
オリジナルリンク:https://blog.csdn.net/u014527058/article/details/52751488

おすすめ

転載: www.cnblogs.com/jsll/p/11613032.html