java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java enum对枚举元素的赋值和取值

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

作者: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=高

总结

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

您可能感兴趣的文章:
阅读全文