今天要为大家介绍的就要有关枚举类的一些知识了,并且会用实际的代码为大家展示出来,一起来了解一下吧。

首先说一下枚举类。

java中的每一个枚举都继承自java.lang.Enum 类。当定义一个枚举类型时,每一个枚举类型成员都可以看作是Enum类的实例,这些枚举成员默认都被final、public, static修饰,当使用枚举类型成员时,直接使用枚举名称调用成员即可。

实例展示1

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

下面的示例创建一个包含3个成员的枚举类型Signal,然后调用values()方法输出这些成员。代码展示如下:

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

输出结果如下,代码如下:枚举成员: GREEN

枚举成员: YELLOW

枚举成员: RED

实例展示2

创建一个示例,调用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 
.length; i++)
{
System.out.println(s + "与" + Sex.values()[i] + "的比较结果是:" + s.compareTo(Sex.values()[i]));
}
}
}

上述代码中使用Sex.valueOf(“male”)取出枚举成员male对应的值,再将该值与其他枚举成员进行比较。最终输出结果如下:

male与male的比较结果是:0

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

实例展示3

通过调用枚举类型实例的ordinal()方法可以获取一个成员在枚举中的索引位置。下面的示例创建一个包含3个成员的枚举类型Signal,然后调用ordinal()方法输出成员及对应索引位置。

具体实现代码如下:

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

输出结果代码如下:索引0, 值: GREEN

索引1, 值: YELLOW

索引2, 值: RED

为枚举添加方法。java为枚举类型提供了一些内置的方法,同时枚举常量也可以有自己的方法。此时要注意必须在枚举实例的最后一个成员后添加分号,而且必须先定义枚举实例。