Home > Java > JavaBase > Detailed explanation of the usage of enum (enumeration) in java

Detailed explanation of the usage of enum (enumeration) in java

王林
Release: 2019-11-27 15:49:34
forward
2793 people have browsed it

Detailed explanation of the usage of enum (enumeration) in java

Java Enum principle:

public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE };
Copy after login

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  
}
Copy after login

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;
            }
        }
    }
Copy after login

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;
    }
    }
Copy after login

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());
    }
}
Copy after login

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);
    }
    }
Copy after login

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
        }
    }
Copy after login

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!

Related labels:
source:cnblogs.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template