1. 程式人生 > >JAVA 通過string值和int值 獲取列舉物件 JAVA ENUM get enumtype by string value or int value

JAVA 通過string值和int值 獲取列舉物件 JAVA ENUM get enumtype by string value or int value

程式碼如下

public  <T extends Enum<T>> T stringToEnum(Class<T> enumType,
                                            String value) {
    T t = null;
    try {
        for (T ele:enumType.getEnumConstants()) {
            if (enumType.getMethod("getValue").invoke(ele).equals(value)){
                t = ele;
                break;
            }
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
    return t;
}
public  <T extends Enum<T>> T intToEnum(Class<T> enumType,
                                                 int value) {
    T t = null;
    try {
        for (T ele:enumType.getEnumConstants()) {
            if (enumType.getMethod("getValue").invoke(ele).equals(value)){
                t = ele;
                break;
            }

        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return t;
}