Java 简明教程
Java - Enum class
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) 此方法返回具有指定名称的指定枚举类型的枚举常量。 |
Example
下面的示例展示了在 if 和 switch 语句中使用枚举。
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
}