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=高

总结

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

相关文章

  • Java中SpringBoot的@Transactional原理

    Java中SpringBoot的@Transactional原理

    这篇文章主要介绍了Java中SpringBoot的@Transactional原理,面向元数据遍历已经成为越来越多开发者的偏好,因此原理从Springboot的EnableTransactionManagement注解说起,需要的朋友可以参考下
    2023-07-07
  • SpringBoot使用MapStruct生成映射代码的示例详解

    SpringBoot使用MapStruct生成映射代码的示例详解

    MapStruct 是一个用于 Java 的代码生成器,专门用于生成类型安全的 bean 映射代码,它通过注解处理器在编译时生成映射代码,从而避免了运行时的性能开销和潜在的错误,本文给大家介绍了SpringBoot使用MapStruct生成映射代码的示例,需要的朋友可以参考下
    2024-11-11
  • SpringBoot入门编写第一个程序Helloworld

    SpringBoot入门编写第一个程序Helloworld

    这篇文章是Springboot入门篇,来教大家编写第一个Springboot程序Helloworld,文中附有详细的示例代码,有需要的同学可以借鉴参考下
    2021-09-09
  • Java结合Swing实现龙年祝福语生成工具

    Java结合Swing实现龙年祝福语生成工具

    Swing是一个为Java设计的GUI工具包,属于Java基础类的一部分,本文将使用Java和Swing实现龙年祝福语生成工具,感兴趣的小伙伴可以了解下
    2024-01-01
  • Java多线程并发FutureTask使用详解

    Java多线程并发FutureTask使用详解

    Java 的多线程机制本质上能够完成两件事情,异步计算和并发,FutureTask 是基于 Runnable 实现的一个可取消的异步调用 API,本文给大家介绍Java 多线程并发FutureTask及基本使用,需要的朋友可以参考下
    2022-06-06
  • spring事务的REQUIRES_NEW源码示例解析

    spring事务的REQUIRES_NEW源码示例解析

    这篇文章主要为大家介绍了spring事务的REQUIRES_NEW源码示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Java设计模式之适配器模式(Adapter模式)介绍

    Java设计模式之适配器模式(Adapter模式)介绍

    这篇文章主要介绍了Java设计模式之适配器模式(Adapter模式)介绍,本文讲解了为何使用适配器模式、如何使用适配器模式等内容,需要的朋友可以参考下
    2015-03-03
  • 聊聊java中一些减少if else 的编码习惯的方法

    聊聊java中一些减少if else 的编码习惯的方法

    这篇文章主要介绍了聊聊java中一些减少if else 的编码习惯的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • SpringBoot 过滤器 Filter使用实例详解

    SpringBoot 过滤器 Filter使用实例详解

    这篇文章主要为大家介绍了SpringBoot 过滤器Filter使用实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • springBoot快速访问工程目录下的静态资源

    springBoot快速访问工程目录下的静态资源

    springboot工程,是没有webapp文件夹的,静态文件放在src/main/resources/static文件夹下即可,模板文件放在src/main/resources/templates下,本文给大家介绍springBoot快速访问工程目录下的静态资源的相关知识,一起看看吧
    2021-06-06

最新评论