Java枚举常见7种用法("Java枚举的7种常用技巧详解")

原创
ithorizon 6个月前 (10-20) 阅读数 21 #后端开发

Java枚举的7种常用技巧详解

一、定义枚举类型

Java枚举类型是Java 5引入的一个特性,它允许开发者定义一组具有特定语义的常量集合。枚举类型通常用于即一组固定的、命名的常量集合,如星期、月份、方向等。

public enum Weekday {

MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY

}

二、枚举类型的方法

枚举类型可以像普通类一样拥有属性和方法。下面是一个明了的示例,展示了怎样在枚举类型中定义方法和属性。

public enum Weekday {

MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6), SUNDAY(7);

private int value;

Weekday(int value) {

this.value = value;

}

public int getValue() {

return value;

}

public String getName() {

return name();

}

}

三、枚举类型的switch语句

Java枚举类型可以用于switch语句,这允许枚举类型在处理多选分支逻辑时更加方便。

public class EnumTest {

public static void main(String[] args) {

Weekday today = Weekday.FRIDAY;

switch (today) {

case MONDAY:

System.out.println("Today is Monday");

break;

case TUESDAY:

System.out.println("Today is Tuesday");

break;

case WEDNESDAY:

System.out.println("Today is Wednesday");

break;

case THURSDAY:

System.out.println("Today is Thursday");

break;

case FRIDAY:

System.out.println("Today is Friday");

break;

case SATURDAY:

System.out.println("Today is Saturday");

break;

case SUNDAY:

System.out.println("Today is Sunday");

break;

}

}

}

四、枚举类型的比较

枚举类型提供了equals()和compareTo()方法来比较枚举值。equals()方法用于检查两个枚举值是否相同,而compareTo()方法用于比较两个枚举值的顺序。

public class EnumTest {

public static void main(String[] args) {

Weekday today = Weekday.FRIDAY;

Weekday tomorrow = Weekday.SATURDAY;

if (today.equals(Weekday.FRIDAY)) {

System.out.println("Today is Friday");

}

if (today.compareTo(tomorrow) < 0) {

System.out.println("Today comes before tomorrow");

}

}

}

五、枚举类型的迭代

可以使用values()方法来获取枚举类型的所有值,并以数组的形式返回。这允许我们遍历枚举类型中的所有值。

public class EnumTest {

public static void main(String[] args) {

for (Weekday day : Weekday.values()) {

System.out.println(day);

}

}

}

六、枚举类型与接口

枚举类型可以实现一个或多个接口。这允许枚举类型具有更多的灵活性,并且能够提供更多的功能。

public interface Greeting {

void greet();

}

public enum Weekday implements Greeting {

MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;

@Override

public void greet() {

System.out.println("Hello, this is a weekday!");

}

}

public class EnumTest {

public static void main(String[] args) {

Weekday.FRIDAY.greet();

}

}

七、枚举类型的高级用法

枚举类型可以拥有自己的构造器、方法和属性,这允许它们可以非常强劲和灵活。以下是一个更高级的示例,演示了怎样使用枚举类型来即一个操作系统的命令。

public enum OSCommand {

LS {

public void execute() {

System.out.println("Executing 'ls' command");

}

},

pwd {

public void execute() {

System.out.println("Executing 'pwd' command");

}

};

public abstract void execute();

}

public class EnumTest {

public static void main(String[] args) {

OSCommand.LS.execute();

OSCommand.pwd.execute();

}

}

总结:Java枚举类型是一种非常有用的特性,它提供了一种简洁、稳固的方法来定义一组命名的常量集合。通过上述七种用法,我们可以看到枚举类型在Java编程中的广泛应用和强劲功能。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: 后端开发


热门