Java列挙型enumの使い方を詳しく解説

hzc
リリース: 2020-06-17 15:18:16
オリジナル
15885 人が閲覧しました

Java列挙型enumの使い方を詳しく解説

JDK1.5 では、新しい型である列挙型が導入されました。これは Java の「小さな」機能ですが、開発に「大きな」利便性をもたらします。

兄さん、あなたの理解を助けるために私自身の理解を追加します。

使用法 1: 定数

JDK1.5 より前では、定数を public static Final.... として定義していました。さて、列挙型を使用すると、関連する定数を列挙型にグループ化でき、列挙型は定数よりも多くのメソッドを提供します。

Java コード

public enum Color {    RED, GREEN, BLANK, YELLOW  }
ログイン後にコピー

使用法 2: switch

JDK1.6 より前の switch ステートメントは、 enumeration を使用する int、char、enum 型のみをサポートします。コードを読みやすくすることができます。

Java コード

enum Signal {      
    GREEN, YELLOW, RED  
}  
public class TrafficLight {      
    Signal color = Signal.RED;
          public void change() { 
             switch (color) { 
               case RED:  
               color = Signal.GREEN;    
                 break;   
                 case YELLOW:              
                 color = Signal.RED;              
                     break;          
                 case GREEN:              
                 color = Signal.YELLOW;              
                     break;          
       }      
     }  
}
ログイン後にコピー

使用法 3: 列挙型に新しいメソッドを追加する

独自のメソッドをカスタマイズする場合は、それを列挙型に追加する必要があります。 enum インスタンス シーケンスの最後にセミコロンを追加します。また、Java では、最初に enum インスタンスを定義する必要があります。

Java コード

public enum Color {      
  RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);      
  // 成员变量 
  private String name;      
  private int index;      
  // 构造方法     
  private Color(String name, int index) {        
  this.name = name;         
  this.index = index;     
 } 
 // 普通方法     
  public static String getName(int index) {        
     for (Color c : Color.values()) {              
           if (c.getIndex() == index) {                 
                 return c.name; 
      }          
   } 
    return null;     
 } 
 // get set 方法     
     public String getName() {       
        return name;
      } 
     public void setName(String name) {    
           this.name = name; 
     }      
     public int getIndex() {      
         return index; 
     }      
     public void setIndex(int index) { 
         this.index = index; 
     }  }  
}
ログイン後にコピー

使用法 4: 列挙メソッドのオーバーライド

次に、toString() メソッドをオーバーライドする例を示します。

Java コード

public enum Color {    
  RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);      
  // 成员变量      
  private String name;      
    private int index;      
    // 构造方法     
    private Color(String name, int index) { 
        this.name = name;
        this.index = index; 
     }      
//覆盖方法      @Override      
    public String toString() {       
   return this.index+"_"+this.name;
  }  
 }
ログイン後にコピー

使用法 5: インターフェイスの実装

すべての列挙は java.lang.Enum クラスから継承します。 Java は多重継承をサポートしていないため、列挙オブジェクトは他のクラスから継承できません。

Java コード

public interface Behaviour {      
    void print();      
    String getInfo(); 
}  
public enum Color implements Behaviour{ 
    RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);     
       // 成员变量   
    private String name;      
        private int index;      
        // 构造方法      
        private Color(String name, int index) { 
           this.name = name; 
       this.index = index;     
    } 
 //接口方法      
         @Override      
         public String getInfo() {
           return this.name; 
     }     
 //接口方法     
         @Override      
         public void print() {
          System.out.println(this.index+":"+this.name);
      }  
  }
ログイン後にコピー

推奨チュートリアル: "java チュートリアル"

以上がJava列挙型enumの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!