Java 简明教程

Java - Enum class

Introduction

Java Enum 类是所有 Java 语言枚举类型的公共基类。

The Java Enum class is the common base class of all Java language enumeration types.

Class Declaration

java.lang.Enum 类声明如下:

Following is the declaration for java.lang.Enum class −

public abstract class Enum<E extends Enum<E>>
   extends Object
      implements Comparable<E>, Serializable

Class constructors

Sr.No.

Constructor & Description

1

protected Enum(String name, int ordinal) This is the single constructor.

Class methods

Sr.No.

Method & Description

1

int compareTo(E o)This method compares this enum with the specified object for order.

2

boolean equals(Object other)This method returns true if the specified object is equal to this enum constant.

3

Class<E> getDeclaringClass()This method returns the Class object corresponding to this enum constant’s enum type.

4

int hashCode()This method returns a hash code for this enum constant.

5

String name()This method returns the name of this enum constant, exactly as declared in its enum declaration.

6

int ordinal()This method returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).

7

String toString()This method returns the name of this enum constant, as contained in the declaration.

8

static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)This method returns the enum constant of the specified enum type with the specified name.

Methods inherited

此类从以下类中继承方法:

This class inherits methods from the following classes −

  1. java.lang.Object

Example

下面的示例展示了在 ifswitch 语句中使用枚举。

Following example showcases the usage of enum in if and switch statements.

package com.tutorialspoint;

public class EnumDemo {
   public static void main(String args[]) {

      //print an Enum
      System.out.println(Mobile.Motorola);

      Mobile mobile = Mobile.Samsung;
      //Usage in IF statment
      if(mobile == Mobile.Samsung) {
         System.out.println("Matched");
      }
      //Usage in Swith statment
      switch(mobile) {
         case Samsung:
            System.out.println("Samsung");
            break;
         case Nokia:
            System.out.println("Nokia");
            break;
         case Motorola:
            System.out.println("Motorola");
      }
   }
}
enum Mobile {
   Samsung,
   Nokia,
   Motorola
}

Output

让我们编译并运行上述程序,这将生成以下结果 −

Let us compile and run the above program, this will produce the following result −

Motorola
Matched
Samsung