Java の列挙型 (enum)は、名前付き定数の限られたセットを表すことができる特別なデータ型です。列挙型は、データを整理および管理し、コードを読みやすく、保守しやすくするのに役立つ非常に便利なツールです。
列挙型 enum の宣言は、他のデータ型とよく似ています。 enum
キーワードを使用して列挙型を宣言し、その後に列挙型の名前を続けます。列挙型の名前は、列挙型であることを示すために大文字で始める必要があります。
public enum Color { RED, GREEN, BLUE }
列挙型の定数は、列挙型で定義された名前付き定数です。列挙型の定数は public staticfinal であり、パブリック、静的、不変であることを意味します。
public enum Color { RED, GREEN, BLUE } // 使用枚举类型的常量 Color color = Color.RED;
列挙型 enum は独自のメソッドを定義できます。これらのメソッドは、静的メソッドまたはインスタンス メソッドにすることができます。静的メソッドは列挙型自体に関連付けられたメソッドですが、インスタンス メソッドは列挙型の定数に関連付けられたメソッドです。
public enum Color { RED, GREEN, BLUE; // 静态方法 public static Color fromString(String color) { switch (color) { case "red": return RED; case "green": return GREEN; case "blue": return BLUE; default: throw new IllegalArgumentException("Invalid color: " + color); } } // 实例方法 public String toHexString() { switch (this) { case RED: return "#FF0000"; case GREEN: return "#00FF00"; case BLUE: return "#0000FF"; default: throw new IllegalStateException("Invalid color: " + this); } } } // 使用枚举类型的方法 Color color = Color.fromString("red"); String hexString = color.toHexString();
列挙型 enum のコンストラクターはプライベートです。これは、列挙型のインスタンスを直接作成できないことを意味します。列挙型のインスタンスは、列挙型の定数を使用してのみ作成できます。
public enum Color { RED, GREEN, BLUE; // 私有构造函数 private Color() { } } // 不能直接创建枚举类型的实例 // Color color = new Color(); // 编译错误
switch 文では列挙型 enum が使用できます。これは、列挙型の定数を処理する非常に便利な方法です。
public enum Color { RED, GREEN, BLUE; } public void printColor(Color color) { switch (color) { case RED: System.out.println("红色"); break; case GREEN: System.out.println("绿色"); break; case BLUE: System.out.println("蓝色"); break; default: System.out.println("无效的颜色"); break; } } // 使用枚举类型作为switch语句的条件 Color color = Color.RED; printColor(color); // 输出:红色
列挙型 enum には、次のような多くの利点があります。
列挙型 enum には拡張できないという欠点もあります。これは、列挙型に新しい定数を追加できないことを意味します。新しい定数を追加する必要がある場合は、新しい列挙型を作成する必要があります。
列挙型 enum は、データの整理と管理に役立ち、コードを読みやすく維持しやすくするのに役立つ非常に便利なツールです。列挙型 enum には、データの整理と管理、コードの可読性と保守性の向上、コードのセキュリティの向上、コードのパフォーマンスの向上など、多くの利点があります。列挙型 enum には、拡張できないという欠点が 1 つだけあります。
以上がJava 列挙型 enum の詳細な応用をマスターするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。