判断一个枚举值是否属于某个枚举类

1:自定义枚举类

/**
 * @Description: 控制开关的状态
 * @since: JDK 1.7
 * @Version:  V1.0
 */
public enum SwitchStatus {
    CLOSE(0, "0-关闭"),
    OPEN(1, "1-开启");

    private int key;
    private String value;

    private SwitchStatus(int key, String value) {
        this.key = key;
        this.value = value;
    }

    public int getKey() {
        return key;
    }

    public String getValue() {
        return value;
    }
}

2:工具类方法——本例的核心

public class EnumUtil {
    /**
     * 判断数值是否属于枚举类的值
     * @param key
     * @return
     */
    public static boolean isInclude(int key){
        boolean include = false;
        for (SwitchStatus e: SwitchStatus.values()){
            if(e.getKey()==key){
                include = true;
                break;
            }
        }
        return include;
    }
}

3:测试

public class TestMain {
    public static void main(String[]args){
        System.out.println(EnumUtil.isInclude(0));
        System.out.println(EnumUtil.isInclude(1));
        System.out.println(EnumUtil.isInclude(2));
    }
}
时间: 2024-08-06 11:28:08

判断一个枚举值是否属于某个枚举类的相关文章

返回枚举值的描述 根据枚举类型返回类型中的所有值、文本及描述

/// <summary> /// 返回枚举值的描述 /// </summary> /// <param name="value">枚举值</param> /// <returns>指定枚举值描述</returns> public static string getEnumDescription(this Enum value) { FieldInfo fi = value.GetType().GetField(v

C# 给枚举定义DescriptionAttribute,把枚举转换为键值对

在C#中,枚举用来定状态值很方便,例如我定义一个叫做Season的枚举 public enum Season { Spring = 1, Summer = 2, Autumn = 3, Winter = 4 } 枚举名是不能出现空格,()-/等字符 我们想把Spring显示为春天,我们要自己定义说明信息,我们可以使用DescriptionAttribute,如下 public enum Season { [Description("春 天")] Spring = 1, [Descrip

利用DescriptionAttribute定义枚举值的描述信息 z

System.ComponentModel命名空间下有个名为DescriptionAttribute的类用于指定属性或事件的说明,我所调用的枚举值描述信息就是DescriptionAttribute类的Description属性值. 首先定义一个枚举 /// <summary>    /// 测试用的枚举    /// </summary>    public enum ArticleTypeList    {        [DescriptionAttribute("

解决ASP.NET MVC4中使用Html.DropDownListFor显示枚举值默认项问题

从ASP.NET MVC 5开始,Html.DropDownListFor已经提供了对Enum的支持,但在这以前,需要通过帮助方法或扩展方法来让Html.DropDownListFor显示枚举值. 本篇解决在ASP.NET MVC 4 下Html.DropDownListFor显示默认项的问题. 以上,使用Select是通过Html.DropDownListFor来实现的,Select的选项值是从枚举中读出.可以看到,某个枚举值成了默认选项,而我想让"==请选择=="成为Select的

从一个int值显示相应枚举类型的名称或者描述

我正在做一个出入库管理的简单项目,在Models里定义了这样的枚举类型 public enum InOrOut { [Description("出库")] Out = 0, [Description("入库")] In = 1 } 我想在输入参数为数据库字段值1或者0的时候,在页面上显示为枚举Name:In.Out,或者干脆显示为Description:出库.入库. 获取枚举Name其实很简单: return Enum.GetName(typeof(InOrOut)

C#枚举扩展方法,获取枚举值的描述值以及获取一个枚举类下面所有的元素

/// <summary> /// 枚举扩展方法 /// </summary> public static class EnumExtension { private static Dictionary<string, Dictionary<string, string>> _enumCache; /// <summary> /// 缓存 /// </summary> private static Dictionary<stri

swift_枚举 | 可为空类型 | 枚举关联值 | 枚举递归 | 树的概念

***************可为空的类型 var demo2 :we_demo = nil 上面这个代码串的语法是错的 为什么呢, 在Swift中,所有的类型定义出来的属性的默认值都不可以是nil 不管是普通简单值类型还是引用类型 那我就是要让这个属性默认值为空,为nil 怎么办呢,很简单,用语法,在定义这个属性的时,在类型后面声明一个? 这样就表示这个属性除了指定类型的默认值外还可以是一个可为空的类型 在Java中,最常见的错误类型就是NullPoinExecption, 为什么就是要有Nu

Kendo Grid控件中将枚举值转为枚举名显示

我们在开发过程中经常会遇到需要将枚举值转换成名称进行显示的情况.如下我们有这样一个数据源对象: var users = [ {id: 1, name: "similar1", status: 1}, {id: 2, name: "similar2", status: 2} ]; 其中字段 status 代表的是用户的状态, 1 代表 “可用”, 2 代表 “禁用”.我们使用 kendo grid 常规配置如下: columns: [ { field: "i

POJ-1064.Cablemaster.(二分法枚举值求最优值)

题目链接 本题大意:给你n个长度为value[ i ]的长木板,让你切割成为等长的k份,问你切割的最大长度是多少. 本题思路:其实很容易可以想到先找到一个上界和一个下界,开始枚举里面的所有长度,去最长的那个即可,此时发现长度为浮点型朴素算法自然无法枚举,我们可以想到二分,局部逼近即可. 参考代码: /* 二分思维训练: 枚举值,判断是否可行,求出最大...最小值 */ #include <cstdio> #include <algorithm> #define mid ((doub