栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java 枚举

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 枚举

文章目录
  • 说明
  • 分享
  • 介绍
    • 枚举方法
    • 枚举判断
  • 实例
    • 简单枚举
    • 复合枚举
  • 总结

说明

本博客每周五更新一次。
枚举是日常java开发中重要的数据处理类型,常用作公共状态值管理,以名称方式使用状态值代码直观,集中化的管理方式方便修改和调整。

分享
  • 大数据博客列表
  • 开发记录汇总
  • 个人java工具库 项目https://gitee.com/wangzonghui/object-tool
    • 包含json、string、集合、excel、zip压缩、pdf、bytes、http等多种工具,欢迎使用。
介绍 枚举方法
名称说明
values()返回 enum 实例的数组,而且该数组中的元素严格保持在 enum 中声明时的顺序。
name()返回实例名。
ordinal()返回实例声明时的次序,从0开始。
getDeclaringClass()返回实例所属的 enum 类型。
equals()判断是否为同一个对象。可以使用 == 来比较enum实例。
枚举判断
  • 使用switch判断枚举类型,完成对应操作。
XmlType xmltype=XmlType.ACTION
log.info("Deal Type:{} ",xmltype.name());
switch(xmltype) {
    case ACTION:
        break;
    case RESULT:
        break;
    default:
        break;
}
实例 简单枚举
public enum XmlType {
    ACTION(0),FORK(1),JOIN(2),RESULT(3);

    private final int code ;

    XmlType(int code) {
        this.code=code;
    }
	
    public int getCode() {
        return code;
    }

    
    public static XmlType fromType(int vale) {
        return EnumSet.allOf(XmlType.class).stream().filter(s -> s.getCode()==value).findAny().orElseThrow(() -> new IllegalArgumentException("Invalid status: " + value));
    }

}
复合枚举
  • 枚举中包含枚举。
package com.think.cn.properties;

public enum TypeEnum {

	sourcePath("source.path",Type.pathString.typeValue),outputPath("output.path",Type.pathString.typeValue);
	
	
	private String name;
	
	
	private int type;
	
	TypeEnum() {}
	
	
	TypeEnum(String name,int type){
		this.name=name;
		this.type=type;
	}
	
	
	public String getName() {
		return this.name;
	}
	
	
	public int getType() {
		return this.type;
	}
	
	enum Type{
		stringValue(0),intValue(1),longValue(2),pathString(3);
		private int typeValue;
		
		Type(int type){
			this.typeValue=type;
		}
		
		public int getValue() {
			return this.typeValue;
		}
	}
	
}
总结
  • 枚举属性为static final修饰,引用不必new,且不可变。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/867491.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号