`

java 枚举中的枚举

 
阅读更多
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枚举(enum)是Java语言中的一种特殊数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中被引入,目的是为了更好地管理和使用常量,提高代码的可读性和安全性。在本实例代码中,...

    Java枚举类型Enum的用法

    在枚举内部,可以通过`Enum&lt;E extends Enum&lt;E&gt;&gt;`的泛型方法`getDeclaringClass()`获取枚举常量所属的枚举类,以及`name()`和`ordinal()`方法获取常量的名称和在枚举中的位置。 总结来说,Java枚举类型提供了一种...

    java枚举类型说明

    ### Java枚举类型详解 #### 一、引言 在Java编程语言中,枚举(Enum)作为一种重要的数据类型,在程序设计中扮演着不可或缺的角色。本文将深入探讨Java枚举类型的特性和用法,并通过具体实例说明其优势所在。枚举...

    java枚举结果类、根据状态值获取枚举值

    java枚举结果类、根据状态值获取枚举值 Controller: /** 模块类型枚举 */ model.addAttribute("mType", ModuleTypeEnum.ModuleTypeShow()); ftl: value="${mType.key}:${mType.value}” &lt;/#list&gt;

    java枚举状态机

    在Java枚举中,每个状态可以是一个枚举常量,而状态间的转换可以通过定义方法来实现。 例如,假设我们有一个简单的订单处理系统,有"新建"、"处理中"和"完成"三个状态,可以这样定义枚举: ```java public enum ...

    简单总结java枚举类型

    枚举在Java中被引入为一个完整的类型,不同于C++中的枚举,这使得Java枚举更加强大且易于使用。以下是关于Java枚举类型的详细解释和相关知识点: 1. 定义枚举: 在Java中,枚举通过关键字`enum`来定义。例如,创建...

    java枚举类用法

    通过上述介绍,我们了解到Java枚举类的多种用法,包括声明、初始化、方法定义、构造器、转换为集合、遍历、比较、在switch语句中的应用以及序列化等。枚举类不仅提高了代码的可读性和安全性,还简化了常量管理,使得...

    理解java枚举类型

    例如,我们可以在枚举中定义一个返回枚举名称的方法: ```java public enum Color { RED, GREEN, BLUE; public String getName() { return name(); } } ``` 然后,`Color.RED.getName()`将返回"RED"。 四、枚举...

    Java枚举类型.pdf

    在本文中,我们将深入探讨Java枚举的定义、使用方法以及它如何改善传统使用`static final`常量的模式。 首先,让我们看看传统的`static final`常量表示枚举的方式。例如,清单1展示了如何使用`public static final`...

    高阶Java-Java枚举类型 enum 应用详解

    本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用它们。 一、枚举的基本用法 1. 声明枚举类型: ```java public enum Color { RED, GREEN, BLUE } ``` 在这里,`Color`是枚举类型,`RED`, `...

    java枚举ppt和详细代码

    枚举中的每个实例都是唯一的,且在程序启动时自动初始化,无需担心多线程环境下的安全问题。例如,下面的Singleton枚举类: ```java enum Singleton { INSTANCE; public void doSomething() { // ... } } ...

    java枚举的一个实例

    Java枚举是编程语言Java中的一个特色特性,它在类、接口和变量的定义中扮演着特殊的角色。枚举在Java中被用作一种数据类型,用于定义一组固定的常量,这些常量可以代表特定的值或状态。通过枚举,我们可以确保变量...

    列举java 枚举相关信息

    ### Java 枚举类型详解 #### 一、引言 ...通过以上的介绍,我们可以看到Java枚举类型不仅提供了类型安全的保障,还为开发者带来了极大的灵活性。合理地使用枚举类型,可以显著提高代码的质量和可维护性。

    如何使用Java枚举类型

    一个关于JAVA枚举类型的MHT文件,包含JAVA枚举类型的用法,以及JDK版本的问题。

    Java中的“枚举类型

    - **枚举元素的实例性质**:枚举中的每个元素实际上是一个对象实例,这意味着可以为这些元素添加额外的属性和行为。例如,为不同的季节分配特定的颜色或温度范围。 - **枚举类的可扩展性**:除了定义枚举元素外,...

    java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名

    枚举(Enumeration)是Java中的一个特殊类类型,用于定义一组常量。本项目"test-enum-demo-master"显然是一个用于演示如何通过反射来操作枚举类的示例。 首先,让我们理解枚举类的基本概念。枚举类在Java中用于定义...

    java枚举类的属性、方法和构造方法应用实战

    在 Java 中,枚举类是一种特殊的类,它可以拥有自己的属性。枚举类的属性可以是 public 的,也可以是 private 的,但是一般情况下,我们将枚举类的属性设置为 private final,以确保枚举类的安全和简洁。 在枚举类...

    说说Java中的枚举 转 可以了,够了 包括EnumSet(Map)

    这篇博客将深入探讨Java枚举的特性和使用方法,包括`EnumSet`和`EnumMap`这两个与枚举相关的数据结构。 首先,枚举定义的基本语法是`public enum EnumName {constant1, constant2, ...}`。每个枚举常量都是`...

    Java面试枚举从使用到原理

    本篇文章将深入探讨Java枚举的使用及其背后的原理。 一、枚举的定义与使用 1. 基本用法: 在Java中,枚举可以通过`enum`关键字来创建。例如,我们可以定义一个表示一周七天的枚举类型: ```java public enum ...

    Java枚举与设计模式

    本文详尽地论述了Java枚举与设计模式的关系

Global site tag (gtag.js) - Google Analytics