Detailed explanation of JAVA enumeration (enum)
Java enumeration is a special class that generally represents a set of constants, such as the 4 seasons of a year, the 12 months of a year, the 7 days of a week, and the direction Southeast, northwest, etc.
Java enumeration classes are defined using the enum keyword, and each constant is separated by commas.
For example, define a color enumeration class.
enum Color { RED, GREEN, BLUE; }
The color constants of the above enumeration class Color include RED, GREEN, and BLUE, which represent red, green, and blue respectively.
Usage example:
enum Color { RED, GREEN, BLUE; } public class Test { // 执行输出结果 public static void main(String[] args) { Color c1 = Color.RED; System.out.println(c1); } }
The output result of executing the above code is:
RED
Use enumeration in internal classes Example
The enumeration class can also be declared in the inner class:
public class Test { enum Color { RED, GREEN, BLUE; } // 执行输出结果 public static void main(String[] args) { Color c1 = Color.RED; System.out.println(c1); } }
The output result of executing the above code is:
RED
Each enumeration is implemented internally through Class, and all enumeration values are public static final.
The above enumeration class Color conversion is implemented in the internal class:
class Color { public static final Color RED = new Color(); public static final Color BLUE = new Color(); public static final Color GREEN = new Color(); }
Iterate the enumeration elements
You can use the for statement to iterate the enumeration elements :
enum Color { RED, GREEN, BLUE; } public class MyClass { public static void main(String[] args) { for (Color myVar : Color.values()) { System.out.println(myVar); } } }
The output result of executing the above code is:
RED
GREEN
BLUE
Use enumeration in switch Enumeration class
The enumeration class is often used in switch statements:
enum Color { RED, GREEN, BLUE; } public class MyClass { public static void main(String[] args) { Color myVar = Color.BLUE; switch(myVar) { case RED: System.out.println("红色"); break; case GREEN: System.out.println("绿色"); break; case BLUE: System.out.println("蓝色"); break; } } }
The output result of executing the above code is:
Blue
values(), ordinal() and valueOf() methods
The enumeration class defined by enum inherits the java.lang.Enum class by default and implements java. There are two interfaces: lang.Seriablizable and java.lang.Comparable.
values(), ordinal() and valueOf() methods are located in the java.lang.Enum class:
- values() returns all values in the enumeration class.
- The ordinal() method can find the index of each enumeration constant, just like an array index.
- The valueOf() method returns the enumeration constant of the specified string value.
enum Color { RED, GREEN, BLUE; } public class Test { public static void main(String[] args) { // 调用 values() Color arr[] = Color.values(); // 迭代枚举 for (Color col : arr) { // 查看索引 System.out.println(col + " at index " + col.ordinal()); } // 使用 valueOf() 返回枚举常量,不存在的会报错 IllegalArgumentException System.out.println(Color.valueOf("RED")); // System.out.println(Color.valueOf("WHITE")); } }
The output result of executing the above code is:
RED at index 0
GREEN at index 1
BLUE at index 2
RED
Enumeration class members
Like ordinary classes, enumerations can use their own variables, methods and constructors. The constructor can only use the private access modifier. So it cannot be called externally.
Enumerations can contain both concrete methods and abstract methods. If an enumeration class has an abstract method, every instance of the enumeration class must implement it.
enum Color { RED, GREEN, BLUE; // 构造函数 private Color() { System.out.println("Constructor called for : " + this.toString()); } public void colorInfo() { System.out.println("Universal Color"); } } public class Test { // 输出 public static void main(String[] args) { Color c1 = Color.RED; System.out.println(c1); c1.colorInfo(); } }
The output result of executing the above code is:
Constructor called for : RED
Constructor called for : GREEN
Constructor called for : BLUE
RED
Universal Color
Recommended tutorial: "Java Tutorial"
The above is the detailed content of Detailed explanation of JAVA enumeration (enum). For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Guide to Perfect Number in Java. Here we discuss the Definition, How to check Perfect number in Java?, examples with code implementation.

Guide to Random Number Generator in Java. Here we discuss Functions in Java with examples and two different Generators with ther examples.

Guide to Weka in Java. Here we discuss the Introduction, how to use weka java, the type of platform, and advantages with examples.

Guide to Smith Number in Java. Here we discuss the Definition, How to check smith number in Java? example with code implementation.

In this article, we have kept the most asked Java Spring Interview Questions with their detailed answers. So that you can crack the interview.

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

The enumeration function in PHP8.1 enhances the clarity and type safety of the code by defining named constants. 1) Enumerations can be integers, strings or objects, improving code readability and type safety. 2) Enumeration is based on class and supports object-oriented features such as traversal and reflection. 3) Enumeration can be used for comparison and assignment to ensure type safety. 4) Enumeration supports adding methods to implement complex logic. 5) Strict type checking and error handling can avoid common errors. 6) Enumeration reduces magic value and improves maintainability, but pay attention to performance optimization.

Guide to TimeStamp to Date in Java. Here we also discuss the introduction and how to convert timestamp to date in java along with examples.
