举报投诉联系我们 手机版 热门标签 名动网
您的位置:名动网 > java枚举类型enum用法 Java 枚举类

java枚举类型enum用法 Java 枚举类

2023-03-06 00:20 Java教程

java枚举类型enum用法 Java 枚举类

java枚举类型enum用法

Java枚举类型enum是一种特殊的类,它可以用来定义一组常量,这些常量可以被用来表示特定的值。枚举类型enum是一个有限的集合,其中的元素都是固定的,而且不能改变。

使用Java枚举类型enum可以让代码更加优雅、易读、易于理解。它可以帮助我们避免使用数字或字符串来表达特定的意思,而是使用有意义的名字来表达。

Java枚举类型enum有三个重要的方面:声明、初始化和使用。声明时,需要使用关键字enum来声明一个新的枚举类型;初始化时,需要在声明中列出所有可能出现的常量;使用时,可以通过引用该枚举中的常量来表达特定含义。

public enum Color { 
    RED, GREEN, BLUE; 
} 

上面代码中声明了一个Color枚举,并列出了三个常量RED、GREEN、BLUE。在其他地方就可以通过引用Color.RED、Color.GREEN或者Color.BLUE来表达特定颜色。

Java 枚举类

Java面向对象设计 - Java枚举类

枚举类型的超类

编译枚举类型时,编译器会创建一个类。

枚举类型可以具有构造函数,字段和方法。枚举类型仅在编译器生成的代码中实例化。

每个枚举类型都隐式地扩展java.lang.Enum类。 Enum类中定义的所有方法都可以与所有枚举类型一起使用。

枚举类

下表列出了在Enum类中定义的方法。

  • public final String name()
    返回枚举常量的名称。
  • public final int ordinal()
    返回枚举常量的顺序。
  • public final boolean equals(Object other)
    如果指定的对象等于枚举常量,则返回true。否则,它返回false。 ==运算符和equals()方法返回相同的结果,当它们用于两个枚举常量。
  • public final int hashCode()
    返回枚举常量的哈希码值。
  • public final int compareTo(E o)
    将此枚举常量与指定的枚举常量进行比较。它返回此枚举常量和指定的枚举常量的序数值的差异。
  • public final Class getDeclaringClass()
    返回声明枚举常量的类的类对象。
  • public String toString()
    默认情况下,它返回枚举常量的名称,这与name()方法相同。
  • public static valueOf(Class enumType,String name)返回指定的枚举类型和名称的枚举常量。

例子

Level  lowLevel = Enum.valueOf(Level.class, "LOW")

以下代码显示了如何比较两个枚举常量:

enum Level {
  LOW, MEDIUM, HIGH, URGENT;
}

public class Main {
  public static void main(String[] args) {
    Level s1 = Level.LOW;
    Level s2 = Level.HIGH;

    // s1.compareTo(s2) returns s1.ordinal() - s2.ordinal()
    int diff = s1.compareTo(s2);
    if (diff > 0) {
      System.out.println(s1 + "  occurs after  " + s2);
    } else {
      System.out.println(s1 + "  occurs before " + s2);
    }

  }
}

上面的代码生成以下结果。



阅读全文
以上是名动网为你收集整理的java枚举类型enum用法 Java 枚举类全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 名动网 mdwl.vip 版权所有 联系我们