Java修道之路:遍历枚举类以及随机选取枚举值的方法

Java中的Enum是个不错的东西,中文名字叫做“枚举”,怎么用呢?

首先定义一个枚举类,枚举类定义出来就是静态的,里面的值可以自己任意命名,之后Java会自动分配相应的int值,而我们调用枚举类不需要使用int值,而是直接使用枚举的命名,这个用法有点类似于常量。

在枚举类的API中(lang.Enum)还有一些方法,比如ordinal方法就是返回该枚举值对应的int值。

枚举类是定义出来了,但是如果想遍历该枚举类,以及随机选取一个枚举值,该怎么做呢?

经过实验,下面方法可行:

public class EnumDemo {
	public static void main(String[] args) {
		Dir[] dirs = Dir.values(); // 获得枚举类值的枚举数组
		
		System.out.print("遍历: ");
		// 遍历Dir
		for (Dir dir : dirs) { 
			System.out.print(dir + " ");
		}
		
		System.out.println(); // 换行
		
		// 随机Dir
		Dir dir = dirs[(int) (Math.random() * dirs.length)];
		System.out.println("随机: " + dir);
	}
}

// 定义枚举类,其中包含4个值:U,D,L,R
enum Dir {
	U, D, L, R;
}

这样枚举就可以遍历和随机选取了!

本文《Java修道之路:遍历枚举类以及随机选取枚举值的方法》来自 www.juwends.com ,欢迎转载或CV操作,但请注明出处,谢谢!