枚举类回显赋值
This commit is contained in:
@@ -6,7 +6,7 @@ import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum AccountStatus {
|
||||
public enum AccountStatus implements ValueEnum {
|
||||
|
||||
ACTIVE (1, "active", "有效"),
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.openhis.common.enums;
|
||||
|
||||
/**
|
||||
* 枚举类通用接口
|
||||
*/
|
||||
public interface ValueEnum {
|
||||
Integer getValue();
|
||||
String getInfo();
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.openhis.common.utils;
|
||||
|
||||
import com.openhis.common.enums.ValueEnum;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public class EnumUtils {
|
||||
|
||||
/**
|
||||
* 根据 value 获取枚举的 info
|
||||
*
|
||||
* @param enumClass 枚举类
|
||||
* @param value 枚举的 value
|
||||
* @param <E> 枚举类型
|
||||
* @return 对应的 info,如果未找到则返回 null
|
||||
*/
|
||||
public static <E extends Enum<E> & ValueEnum> String getInfoByValue(Class<E> enumClass, Integer value) {
|
||||
return Arrays.stream(enumClass.getEnumConstants())
|
||||
.filter(e -> e.getValue().equals(value))
|
||||
.findFirst()
|
||||
.map(ValueEnum::getInfo)
|
||||
.orElse(null);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user