Java Enum principle:
public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE };
In fact, the type defined by this declaration is a class, which has exactly four instances. Here Try not to construct new objects.
Therefore, when comparing the values of two enumeration types, you never need to call the equals method, but just use "==" directly. (The equals() method also uses == directly, both have the same effect)
Related video tutorial recommendations: java teaching video
Usage 1: Constants
Before JDK1.5, the constants we defined were: public static fianl....
. Well, now with enumerations, related constants can be grouped into an enumeration type, and enumerations provide more methods than constants.
public enum Color { RED, GREEN, BLANK, YELLOW }
Usage 2: switch
The switch statement before JDK1.6 only supports int, char, and enum types. Using enumerations can make our code readable. Stronger sex.
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; } } }
Usage 3: Add new methods to the enumeration
If you plan to customize your own method, you must add a semicolon at the end of the enum instance sequence. And Java requires that the enum instance must be defined first.
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; } }
Usage 4: Overriding the enumeration method
The following is an example of overriding the toString() method.
public class Test { 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; } } public static void main(String[] args) { System.out.println(Color.RED.toString()); } }
Usage 5: Implement the interface
All enumerations inherit from the java.lang.Enum class. Since Java does not support multiple inheritance, enumeration objects cannot inherit from other classes.
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); } }
Usage 6: Use interfaces to organize enumerations
public interface Food { enum Coffee implements Food { BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO } enum Dessert implements Food { FRUIT, CAKE, GELATO } }
For more related articles and tutorials, please visit: Getting Started with Java
The above is the detailed content of Detailed explanation of the usage of enum (enumeration) in java. For more information, please follow other related articles on the PHP Chinese website!