首页 > 解决方案 > 如何检查枚举通用java android中是否存在值(int)

问题描述

检查枚举常量Java示例中是否存在整数值

enum Days{
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}

checkFunction(Days, 5) // true
checkFunction(Days, -1) // false
checkFunction(Days, 10) // false

标签: javaandroidgenericsenums

解决方案


public static <T extends Enum<T>> boolean isEnumContainsInt(Class<T> et,  int v)
{

    if (et == null) {
       return false;
    }
    T[] values = et.getEnumConstants();
    if (values == null) {
        return false;
    }


    for (int i = values.length - 1; i >= 0; --i) {
        T value = values[i];


        if(v== value.ordinal())
            return true;
    }
    return false;
}

推荐阅读