`
annan211
  • 浏览: 462915 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java 枚举 根据key获取value

    博客分类:
  • java
 
阅读更多
package com.utcip.crm.common.constants;

import com.utcip.crm.common.base.process.ScheduleStatusEnum;

/**
 * 合同变更存储mongodb 状态值
 * @author jingfangnan
 *
 */
public enum ConstractMongoStatus {
	
	NEW(3,"新增"),
	
	UPDATE(2,"修改"),
	
	DELETE(1,"删除"),
	
	GENERATOR(0,"普通无状态"),
	
	// 是否提交审核
	REVIEW(5,"提交审核"),
	
	NO_REVIEW(-5,"不提交审核"),
	
	//变更流程相关
	
	ONLY_CONTRACT_MATERIAL(6,"仅涉及合同材料修改"),
	
	NOT_ONLY_CONTRACT_MATERIAL(7,"需要合同档案部审核"),
	
	CRM_ACC_EXPEN_CHANGE(8,"涉及实收款变更"),
	
	NO_CRM_ACC_EXPEN_CHANGE(9,"不涉及实收款变更"),
	
	//历史版本列表
	
	UPDATE_PRODUCT(10,"变更商品"),
	
	UPDATE_ACC_EXPEN(11,"变更实收款"),
	
	UPDATE_RECEIVAL(20,"变更收款计划"),
	
	UPDATE_ATTACHMENT(12,"变更附件"),
	
	UPDATE_CONTRACT(13,"变更合同基本信息"),
	
	UPDATE_APPROVAL(14,"变更审批单"),
	
	//变更历史状态描述
	
	MODIFY_NOMORE(19,"初始状态"),
	
	MODIFY_UPDATE(15,"已更新"),
	
	MODIFY_REVIEW_ING(16,"审核中"),
	
	MODIFY_REVIEW_PASS(17,"审核通过"),
	
	MODIFY_REVIEW_NO_PASS(18,"审核未通过")
	
	;
	
	private final Integer status;
	
	private final String desc;
	
	private ConstractMongoStatus(final Integer status,final String desc){
		this.status = status;
		this.desc = desc;
	}
	
	public static Integer getValue(Integer value) {
		ConstractMongoStatus[] businessModeEnums = values();
		for (ConstractMongoStatus businessModeEnum : businessModeEnums) {
			if (businessModeEnum.status().equals(value)) {
				return businessModeEnum.status();
			}
		}
		return null;
	} 
	
	public static String getDesc(Integer value) {
		ConstractMongoStatus[] businessModeEnums = values();
		for (ConstractMongoStatus businessModeEnum : businessModeEnums) {
			if (businessModeEnum.status().equals(value)) {
				return businessModeEnum.desc();
			}
		}
		return null;
	}
	
	public Integer status(){
		return this.status;
	}
	
	public String desc(){
		return this.desc;
	}
	
}	
分享到:
评论

相关推荐

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

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

    java枚举类型enum的使用

    4. **`valueOf()`**:根据枚举元素的名称获取枚举对象实例。 ##### 3.1 枚举遍历示例 下面是一个简单的枚举遍历示例: ```java public static void testTraversalEnum() { Light[] allLight = Light.values(); ...

    java 枚举遍历键值对 属性类Properties 类加载器

    在Java编程语言中,枚举(Enum)是一种特殊的数据类型,用于定义一组固定数量的常量。枚举在遍历键值对时可以提供一种安全且类型安全的方式,尤其是在处理配置文件或属性文件时。而Properties类是Java中用于处理键值...

    Java中枚举类型的一种使用方式

    在上面的代码中,我们定义了一个StationEnum枚举类型,其中包括了多个工站类型,每个工站类型都有一个唯一的key和value。 接下来,让我们来看一下如何使用枚举类型来获取工站类型列表。我们可以使用 Enum.values() ...

    优雅地在Java应用中实现全局枚举处理的方法

    我们在查数据的时候,又能将数据库的数字转换成java枚举类,在处理完对应的业务逻辑之后,将枚举和枚举类对应的展示信息一起传递到前台,前台不需要维护这个枚举类和展示信息的对应关系,同时展示信息支持国际化处理...

    枚举 HashMap

    `getByValue()`方法用于根据枚举值获取对应的`EnumItem`实例。 通过这种方式,我们可以在保留枚举特性的同时,享受到HashMap带来的灵活性。当然,这种实现方式也有其局限性,例如无法像枚举那样直接使用switch语句...

    实例5 哈希表(Hashtable)和枚举器

    哈希表(Hashtable)是Java中的一个核心数据结构,它基于键值对(key-value pair)的概念,提供了高效的存储和查找功能。在Java标准库中,`java.util.Hashtable`类实现了可存储任意对象的键值对容器。这个类自Java ...

    Java程序设计范型和枚举PPT教案学习.pptx

    例如,`HashMap<Key, Value>`就是一个范型类,其中`Key`和`Value`是类型参数,代表了存储的数据的键和值的类型。在创建`HashMap`实例时,我们可以指定具体的类型,如`HashMap, Integer>`,这表示键是`String`类型,...

    JAVA中的数据字典

    例如,HashMap允许我们通过键(key)来快速查找和访问值(value),这在数据字典中非常常见。 3. **枚举类型(Enum)**:在Java中,枚举是一种强大的工具,可用于定义一组固定的值,这些值可以作为数据字典中的条目...

    用JAVA轻松操作properties文件

    - 使用`getProperty`方法根据键获取对应的值。 - 输出并返回该值。 ##### 2. 读取所有properties信息 ```java public static void readProperties(String filePath) { Properties props = new Properties(); try...

    java获取http请求的Header和Body的简单方法

    在Java中,我们可以使用`HttpServletRequest`的`getReader()`方法来获取一个`BufferedReader`,这个`BufferedReader`可以从请求体中读取文本数据。 ```java BufferedReader br = request.getReader(); String input...

    让你的java 腾飞吧

    通过调用`properties.propertyNames()`方法可以获取一个`Enumeration<String>`对象,它包含属性列表中所有键的枚举。然后,可以通过循环遍历并打印所有的键值对。 - 向资源文件中添加键值信息。如果key值相同,则...

    Java 实例 - 使用 Enumeration 遍历 HashTable源代码+详细指导教程.zip

    在Java编程语言中,`HashTable`是一个非常基础且重要的数据结构,它提供了键值对(key-value pairs)的存储功能。本教程将深入探讨如何使用`Enumeration`接口遍历`HashTable`,并提供详细的源代码实例及指导。`...

    多层集合嵌套的JSON数据转化为Java对象(src.zip)

    - `JSONObject`无法直接处理Java的枚举类型,需要手动转换。 通过以上步骤,我们可以高效地将多层集合嵌套的JSON数据转换为Java对象,方便在Java程序中进行处理和操作。这种方法在实际开发中非常常见,特别是在...

    java对properties文件的操作.pdf

    可以通过`propertyNames()`方法获取一个枚举,包含所有键,然后遍历这个枚举获取键值对: ```java Enumeration<String> enumValue = (Enumeration) properties.propertyNames(); while (enumValue....

    java面经_加水印.pdf

    Java枚举类型提供了一种不可变的数据类型,可以用来定义一组常量。枚举常量可以直接用于switch语句,并且可以拥有自己的方法和字段。 #### 3. 注解 Java注解是代码中的特殊标记,用于为代码提供元数据,注解不会...

    Java实现Map集合二级联动示例

    Map集合是Java集合框架的一部分,它允许我们以键(Key)-值(Value)对的形式存储数据。在Map中,键是唯一的,而值可以重复。Java提供了多种Map接口的实现,如HashMap、TreeMap、LinkedHashMap等,它们各有不同的...

    java读取注册表的简单方法

    3. **枚举类型**:在Java中,我们可以使用枚举类型来表示Windows注册表键的常量,如`HKEY_CURRENT_USER`, `HKEY_LOCAL_MACHINE`等,这样既能提高代码可读性,也能避免硬编码错误。 4. **调用注册表API**:通过JNA...

    java基础知识面试题

    elements() 方法用于返回此Hashtable中的value的枚举。 contains()方法判断该Hashtable是否包含传入的value。它的作用与containsValue()一致。事实上,contansValue() 就只是调用了一下contains() 方法。 3、对...

Global site tag (gtag.js) - Google Analytics