package enums;
import java.util.Random;
//获取枚举中随机属性
public class Enums {
public static <T extends Enum<T>> T random(Class<T> ec){
return random(ec.getEnumConstants());
}
public static <T> T random(T[] values){
//每次调用new一个新random,标识要不一样,要不然每次运行的结果都一样。
return values[new Random(System.nanoTime()).nextInt(values.length)];
}
}
package enums;
/**
*/
public enum TestEnum {
STORK(Security.Stock.class),
BOND(Security.Bond.class);
interface Security{
enum Stock implements Security{SHORT,LONG}
enum Bond implements Security{JUNK,CCTV}
}
Security[] values;
TestEnum(Class<? extends Security> kind){
values = kind.getEnumConstants();
}
public Security randomSelection(){
return Enums.random(values);
}
public static void main(String[] args){
for (int i = 0; i < 5; i++) {
TestEnum testEnum = Enums.random(TestEnum.class);
System.out.println(testEnum+":"+testEnum.randomSelection());
}
}
}
分享到:
相关推荐
java枚举小例子,简单了解枚举的用法,适合初学者使用。
java枚举结果类、根据状态值获取枚举值 Controller: /** 模块类型枚举 */ model.addAttribute("mType", ModuleTypeEnum.ModuleTypeShow()); ftl: value="${mType.key}:${mType.value}” </#list>
列举java 枚举相关信息列举java 枚举相关信息列举java 枚举相关信息 列举java 枚举相关信息 列举java 枚举相关信息 列举java 枚举相关信息 列举java 枚举相关信息
java枚举类型的说说明,详细阐述了枚举类型的使用和注意事项
java枚举状态机
java 枚举ppt 枚举定义 用普通类模拟枚举 带构造方法的枚举 带抽象方法的枚举 单例与枚举 枚举与类集
简单总结java枚举类型,适合java初学者
一个关于JAVA枚举类型的MHT文件,包含JAVA枚举类型的用法,以及JDK版本的问题。
JAVA枚举JAVA枚举
理解java枚举类型
本文详尽地论述了Java枚举与设计模式的关系
Java枚举类型.pdf
NULL 博文链接:https://rensanning.iteye.com/blog/2013734
关于java枚举的一个实例,
JAVA枚举类型的用法详解 例举了JAVA 枚举类型常见用法
java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名。本项目为普通java项目
枚举的简单的介绍 枚举的作用 1.枚举可以实现一个或多个接口 2.可以定义新的变量 3.可以定义新的方法 4.可以定义根据具体枚举值而相异的类
我想几乎每一个学习Java语言的人在学习枚举的时候首先的一个疑问就是“为什么不用static final字段替代?”,有这个疑问就说明你已经摸索到了枚举类型的最主要功能......
java 枚举 学习心得
如有侵权请联系删除,欢迎批评指正 java枚举,起初在网上抄了一部分,然后自己加了点示例,做一个记录,也算是为以后留个备份,技术小白一个,还在努力成长