Java 简明教程

Java - Enum class

Introduction

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

Class Declaration

java.lang.Enum 类声明如下:

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) 这是单个构造函数。

Class methods

Sr.No.

Method & Description

1

int compareTo(E o) 此方法按顺序比较此枚举与此指定的对象。

2

boolean equals(Object other) 此方法在指定的对象等于此 enum 常量时返回 true。

3

Class<E> getDeclaringClass() 此方法返回与此 enum 常量对应的 enum 类型的 Class 对象。

4

int hashCode() 此方法返回此 enum 常量的哈希码。

5

String name() 此方法返回此 enum 常量名称,与在对应的 enum 声明中声明的名称完全相同。

6

int ordinal() 此方法返回此枚举常量的序数(它在 enum 声明中的位置,而初始常量分配的序数为 0)。

7

String toString() 此方法返回此 enum 常量的名称(正如在声明中所包含的)。

8

static <T extends Enum<T>> T valueOf(Class<T> enumType, String name) 此方法返回具有指定名称的指定枚举类型的枚举常量。

Methods inherited

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

  1. java.lang.Object

Example

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

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

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

Motorola
Matched
Samsung