java枚举(enum)详解,枚举类

KLQ 2020-08-31 09:48:52 java常见问答 4760

下面要给大家讲到的java枚举的内容是枚举类,对于这个方面的知识你了解吗?不大清楚的小伙伴可以通过下文来进行一下学习呢。

java当中,每一个枚举都继承自java.lang.Enum类。

在定义一个枚举类型的时候,每一个枚举类型成员都可以看作是Enum类的实例。

这些枚举成员默认都被final、public, static修饰。

早使用枚举类型成员的时候,直接使用枚举名称调用成员就可以了。

所有枚举实例都可以调用Enum类的方法。

下面是常用方法:

Enum类的常用方法

示例:

通过调用枚举类型实例的values( ) 方法可以将枚举的所有成员以数组形式返回,也可以通过该方法获取枚举类型的成员。

创建一个包含3个成员的枚举类型Signal,之后,调用values()方法输出这些成员。

enum Signal
{
    // 定义一个枚举类型
    GREEN
    , YELLOW
    , RED;
}
public static void main(String[] args)
{
    for (int i = 0; i < Signal.values()
        .length; i++)
    {
        System.out.println("枚举成员:" + Signal.values()[i]);
    }
}

最终输出结果:

枚举成员:GREEN
枚举成员:YELLOW
枚举成员:RED

示例:

创建一个示例,调用valueOf()方法获取枚举的一个成员,之后,调用compareTo()方法进行比较,并输出结果。

代码:

public class TestEnum
{
    public enum Sex
    {
        // 定义一个枚举
        male
        , female;
    }
    public static void main(String[] args)
    {
        compare(Sex.valueOf("male")); // 比较
    }
    public static void compare(Sex s)
    {
        for (int i = 0; i < Sex.values()
            .length; i++)
        {
            System.out.println(s + "与" + Sex.values()[i] + "的比较结果是:" + s.compareTo(Sex.values()[i]));
        }
    }
}

在上面的代码当中,使用Sex.valueOf("male")取出枚举成员male对应的值,再将该值与其他枚举成员进行比较。

最终输出结果:

male与male的比较结果是:0
male与female的比较结果是:-1

示例:

通过调用枚举类型实例的ordinal()方法,能够获取一个成员在枚举中的索引位置。

创建一个包含3个成员的枚举类型Signal,之后,调用ordinal()方法输出成员及对应索引位置。

实现代码:

public class TestEnum1
{
    enum Signal
    {
        // 定义一个枚举类型
        GREEN
        , YELLOW
        , RED;
    }
    public static void main(String[] args)
    {
        for (int i = 0; i < Signal.values()
            .length; i++)
        {
            System.out.println("索引" + Signal.values()[i].ordinal() + ",值:" + Signal.values()[i]);
        }
    }
}

输出结果:

索引0,值:GREEN
索引1,值:YELLOW
索引2,值:RED

关于这个方面的内容就给你介绍到这里了,更多java基础知识和常见问题,请继续通过奇Q工具网来进行了解和解答吧。

推荐阅读:

java枚举(enum)详解,声明枚举

java枚举类型enum用法有哪些?该怎么使用?

java枚举详解都有哪些?该怎么实现?