随机选取工具-枚举类型
2014-11-13 10:17
176 查看
enum实现随机,可以当场工具类来用Enums.java
import java.util.Random;public class Enums {private static Random rand = new Random(47);public static <T extends Enum<T>> T random(Class<T> ec) {return random(ec.getEnumConstants());}public static <T> T random(T[] values) {return values[rand.nextInt(values.length)];}}RandomTest.java
enum Activity { SETTING, LYING, STADING, ONCREATE, ONSTOP, ONSTART,ONDESTROY}public class RandomTest {public static void main(String[] args) {for(int i = 0; i < 20; i++ ) {System.out.print(Enums.random(Activity.class) + " ");}}}输出结果
ONDESTROY STADING ONDESTROY LYING ONSTART STADING SETTING ONSTART ONSTART SETTING STADING ONSTART ONSTOP LYING ONCREATE ONCREATE LYING ONSTART SETTING STADING记录一段书上的话<T extends Enum<T>>表示T是个enum的实例。而方法中将Class<T>作为参数的话,我们就可以利用Class对象得到enum实例的数组了。重载后的random()方法只需使用T[]作为参数,从数组中随机选择一个元素返回即可,此时返回的正式enum的类型
相关文章推荐
- 【1】C#基础:数据类型、运算、随机、枚举、结构、数组、列表、文件和文件流、序列化、MD5
- HtmlTextWriter和相关的枚举类型
- BCB运行期取得Enum(枚举)类型信息
- J2SE5.0新特性之枚举类型
- 更好的使用.net 2.0中的枚举类型
- 复杂的变量类型---枚举,结构,数组
- C#入门(5)枚举和结构类型
- Eclipse3.1中体验J2SE 5.0之枚举类型
- SocketType 枚举----指定 Socket 类的实例表示的套接字的类型
- 取得枚举类型enum中的元素名称
- 随机从数据库中选取记录
- [J2SE 5.0专题][2.4]类型安全的枚举
- J2SE5.0新特性之枚举类型
- 小工具-VB枚举顶级窗窗口及子窗口句柄和类名!
- C#中定义枚举类型数据
- 枚举类型小结
- 枚举类型入门(转载自IBM开发者)
- SQL中随机选取数据的方法
- c++中的枚举类型
- Visual Studio 2005入门 之 结构化数据类型[二](枚举,结构)[视频]