Java enum 对枚举元素的赋值和取值方式

 更新时间:2024年05月16日 09:40:31   作者:AdamShyly  
这篇文章主要介绍了Java enum 对枚举元素的赋值和取值方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Java enum对枚举元素的赋值和取值

package edu.fjnu501.bankenum;
 
public enum Trade {
    save("0"), withdraw("1");
 
    private String type;
 
    Trade(String s) {
        type = s;
    }
 
    public String getType() {
        return this.type;
    }
 
}

通过定义构造方法和get方法即可对枚举元素进行赋值和取值

if (Trade.withdraw.getType().equals("1")) {
    // true
}

动态赋值给枚举enum

枚举类 Level.java

public enum Level {
	LOW("0", "level.LOW"),
	MEDIUM("1", "level.MEDIUM"),
	HIGH("2", "level.HIGH");
 
	private String value;
	private String description;
 
	private Level(String value, String description) {
		this.value = value;
		this.description = description;
	}
 
	public String getValue() {
		return this.value;
	}
 
	public String getDescription() {
		return messageSource.getMessage(description, null, description, null);
	}
 
    //spring 框架的类
	private MessageSource messageSource;
 
	public Level setMessageSource(MessageSource messageSource) {
		this.messageSource = messageSource;
		return this;
	}

配置类

@Component
	public  class EnumValuesInjectionService {
 
		@Autowired
		private MessageSource messageSource;
 
		//通过静态内部类的方式注入到bean,并 赋值到枚举中。
		@PostConstruct
		public void postConstruct() {
 
			for (Level level : EnumSet.allOf(Level.class)) {
				level.setMessageSource(messageSource);
			}
		}
	}

在messages.properties中加入测试信息

level.LOW=低
level.MEDIUM=中
level.HIGH=高

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring 事件监听机制实现跨模块调用的思路详解

    Spring 事件监听机制实现跨模块调用的思路详解

    之前一个项目,有两个模块,A 模块需要依赖 B 模块,但现在 B 模块有地方需要调用 A 模块的方法,如果直接依赖,又会产生循环依赖问题,最终选择使用 spring 的事件监听来解决该问题,下面给大家介绍Spring 事件监听机制实现跨模块调用的思路,感兴趣的朋友一起看看吧
    2024-05-05
  • SpringBoot整合RabbitMQ的5种模式的注解绑定详解

    SpringBoot整合RabbitMQ的5种模式的注解绑定详解

    这篇文章主要介绍了SpringBoot整合RabbitMQ的5种模式的注解绑定详解,RabbitMQ 是一个消息中间件,它接收消息并且转发,是"消费-生产者模型"的一个典型的代表,一端往消息队列中不断的写入消息,而另一端则可以读取或者订阅队列中的消息,需要的朋友可以参考下
    2024-01-01
  • Java使用EasyExcel实现百万数据导出的最佳实践指南

    Java使用EasyExcel实现百万数据导出的最佳实践指南

    这篇文章主要为大家详细介绍了Java如何使用EasyExcel实现百万数据导出功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解下
    2026-01-01
  • struts2简介_动力节点Java学院整理

    struts2简介_动力节点Java学院整理

    Struts2框架是MVC流程框架,适合分层开发,这篇文章主要为大家详细介绍了struts2简介的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • 详解java中finalize的实现与相应的执行过程

    详解java中finalize的实现与相应的执行过程

    在常规的java书籍中,即会描述 object的finalize方法是用于一些特殊的对象在回收之前再做一些扫尾的工作,但是并没有说明此是如何实现的.本篇从java的角度(不涉及jvm以及c++),有需要的朋友们可以参考借鉴。
    2016-09-09
  • Java读取Properties配置文件的6种方式汇总

    Java读取Properties配置文件的6种方式汇总

    这篇文章主要给大家介绍了关于Java读取Properties配置文件的6种方式,java中的properties文件是一种配置文件,主要用于表达配置信息,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • SpringBoot项目启动打包报错类文件具有错误的版本 61.0, 应为 52.0的解决方法

    SpringBoot项目启动打包报错类文件具有错误的版本 61.0, 应为 52.0的解决

    这篇文章主要给大家介绍了关于SpringBoot项目启动打包报错类文件具有错误的版本 61.0, 应为 52.0的解决方法,文中有详细的排查过程和解决方法,通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • IDEA无法打开Marketplace的三种解决方案(推荐)

    IDEA无法打开Marketplace的三种解决方案(推荐)

    这篇文章主要介绍了IDEA无法打开Marketplace的三种解决方案(推荐),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Java中使用byte[]获取16位字符串的技巧分享

    Java中使用byte[]获取16位字符串的技巧分享

    在Java编程中,处理字符编码和字节数组时,尤其是从​​byte[]​​​数组中获取字符串,可能会遇到字符集的复杂性问题,本文将介绍如何从一个​​byte[]​​数组中正确获取16位字符串,需要的朋友可以参考下
    2024-08-08
  • JavaGUI使用标签与按钮方法详解

    JavaGUI使用标签与按钮方法详解

    这篇文章主要介绍了JavaGUI使用标签与按钮方法,前段时间学了GUI,总体上概念还是有点模糊,于是决定花点时间简单整理下。先简单介绍一下GUI,GUI就是图形用户界面
    2023-03-03

最新评论