JDK1.5 introduces a new type - enumeration. Although it is a "small" function in Java, it brings "big" convenience to my development.
Senior brother, I will add my own understanding to help you understand.
Usage 1: Constants
Before JDK1.5, we defined constants as: public static final....
. Well, now with enumerations, related constants can be grouped into an enumeration type, and enumerations provide more methods than constants.
Java code
public enum Color { RED, GREEN, BLANK, YELLOW }
Usage 2: switch
The switch statement before JDK1.6 only supports int, char, enum types, using enumerations , can make our code more readable.
Java code
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 three: Add new methods to the enumeration
If you plan to customize your own method, you must add it to the enum instance Add a semicolon at the end of the sequence. And Java requires that the enum instance must be defined first.
Java code
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.
Java code
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; } }
Usage five: 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.
Java code
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); } }
Recommended tutorial: "java tutorial"
The above is the detailed content of Detailed explanation of usage of java enumeration type enum. For more information, please follow other related articles on the PHP Chinese website!