📅  最后修改于: 2023-12-03 14:43:01.603000             🧑  作者: Mango
Java中的枚举类型是指一组具名的常量。它们可以被用来代表那些有限的、特定的、离散的值。Java枚举是自Java 5起引入的。本文将介绍Java枚举的基本用法和一些扩展。
Java中的枚举类型被定义为一个类,这个类是final的,并且包含有一组枚举常量。枚举常量的名称大写。
可以用以下方式声明一个枚举类型:
public enum ExampleEnum {
ENUM_CONSTANT1,
ENUM_CONSTANT2,
ENUM_CONSTANT3
}
该枚举类型中定义了三个枚举常量:ENUM_CONSTANT1
,ENUM_CONSTANT2
,ENUM_CONSTANT3
。
使用枚举类型可以很容易地完成比较和赋值操作。例如:
ExampleEnum enum1 = ExampleEnum.ENUM_CONSTANT1;
ExampleEnum enum2 = ExampleEnum.ENUM_CONSTANT2;
if (enum1 == ExampleEnum.ENUM_CONSTANT1) {
System.out.println("enum1 equals ENUM_CONSTANT1");
}
if (enum2.equals(ExampleEnum.ENUM_CONSTANT2)) {
System.out.println("enum2 equals ENUM_CONSTANT2");
}
ExampleEnum enum3 = ExampleEnum.valueOf("ENUM_CONSTANT3");
System.out.println(enum3); // 输出:ENUM_CONSTANT3
上述代码演示了枚举常量的比较和赋值操作,以及如何通过名称获取对应的枚举常量。
Java枚举常量可以包含属性和方法。以下是一个包含属性和方法的枚举类型的定义:
public enum ExampleEnum {
ENUM_CONSTANT1("constant1_parameter"),
ENUM_CONSTANT2("constant2_parameter"),
ENUM_CONSTANT3("constant3_parameter");
private String parameter;
ExampleEnum(String parameter) {
this.parameter = parameter;
}
public void printParameter() {
System.out.println(parameter);
}
}
在上面的枚举类型中,枚举常量包括名称和一个参数,还包含了一个printParameter()
方法。
可以通过以下方式调用枚举常量的属性和方法:
ExampleEnum enum1 = ExampleEnum.ENUM_CONSTANT1;
enum1.printParameter(); // 输出:constant1_parameter
Java枚举类型是枚举常量的类,每个枚举常量都是该类的实例。因此,枚举常量可以具有不同的行为方式和属性。
以下是一个包含自定义方法的枚举类型的定义:
public enum ExampleEnum {
ENUM_CONSTANT1 {
@Override
public void customMethod() {
System.out.println("custom method for ENUM_CONSTANT1");
}
@Override
public String commonMethod() {
return "ENUM_CONSTANT1";
}
},
ENUM_CONSTANT2 {
@Override
public void customMethod() {
System.out.println("custom method for ENUM_CONSTANT2");
}
@Override
public String commonMethod() {
return "ENUM_CONSTANT2";
}
},
ENUM_CONSTANT3 {
@Override
public void customMethod() {
System.out.println("custom method for ENUM_CONSTANT3");
}
@Override
public String commonMethod() {
return "ENUM_CONSTANT3";
}
};
public abstract void customMethod();
public abstract String commonMethod();
}
上述代码中,每个枚举常量都实现了自定义方法customMethod()
和共同的方法commonMethod()
。
下面演示如何调用枚举常量的自定义方法和共同方法:
ExampleEnum enum1 = ExampleEnum.ENUM_CONSTANT1;
enum1.customMethod(); // 输出:custom method for ENUM_CONSTANT1
ExampleEnum enum2 = ExampleEnum.ENUM_CONSTANT2;
System.out.println(enum2.commonMethod()); // 输出:ENUM_CONSTANT2
本文介绍了Java枚举类型的基本语法和一些扩展。Java枚举类型是一种非常方便的方式来表示一组常量。它们可以用来代表状态、类型、选项等。在实际编程中,应当根据实际需求合理使用枚举类型,以实现程序的可读性、可靠性和可扩展性。