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

本文介绍了一个自定义枚举类SwitchStatus,用于表示开关状态,并提供了一个工具类EnumUtil来判断给定值是否为该枚举类的有效值。通过示例展示了如何使用这些类进行状态验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 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));
    }
}

 

### 如何在 C# 中判断某个是否属于枚举类型 在 C# 中,可以通过 `Enum.IsDefined` 方法来验证一个特定的是否存在于指定的枚举类型中。此方法会检查给定类型的定义域,并返回布尔表示该是否存在于枚举中[^5]。 以下是实现这一功能的一个示例代码: ```csharp using System; public class EnumCheckExample { public static void Main() { string input = "One"; bool isValidEnumValue = Enum.IsDefined(typeof(MyEnum), input); Console.WriteLine($"Is '{input}' a valid enum value? {isValidEnumValue}"); } } public enum MyEnum { Zero, One, Two } ``` 在这个例子中,程序通过调用 `Enum.IsDefined` 来确认字符串 `"One"` 是否为 `MyEnum` 枚举中的有效成员。如果输入匹配到任何已定义的枚举项,则返回 `true`; 否则返回 `false`[^5]。 需要注意的是,当处理数型数据时也适用同样的逻辑。例如整数可以被用来检测其对应关系: ```csharp int numericInput = 1; bool isNumericValid = Enum.IsDefined(typeof(MyEnum), numericInput); Console.WriteLine($"Is integer value '{numericInput}' defined in the enum? {isNumericValid}"); ``` 以上片段展示了如何利用相同的技术去核验来自不同基础类型的变量是否能映射至目标枚举内的条目之上[^5]。 #### 关键点总结: - 使用静态方法 `Enum.IsDefined(Type, Object)` 可以有效地完成这项任务。 - 参数一应传入要查询的目标枚举类型;参数二则是待检验的具体实例或者潜在候选者。 - 返回的结果是一个布尔量,指示所提供的对象是否确切地位于所指明之枚举之中。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值