枚舉工具類:封裝判斷是否存在這個枚舉
1. 定義一個枚舉類,繼承BaseEnum
public enum MethodEnum implements BaseEnum {
/** get請求方法 */
GET(1, "GET"),
/** post請求方法 */
POST(2, "POST"),
/** put請求方法 */
PUT(3, "PUT"),
/** delete請求方法 */
DELETE(4, "DELETE");
private Integer value;
private String name;
MethodEnum(Integer value, String name) {
this.value = value;
this.name = name;
}
@Override
public Integer getValue() {
return value;
}
@Override
public String getName() {
return name;
}
public void setValue(Integer value) {
this.value = value;
}
public void setName(String name) {
this.name = name;
}
}
2. BaseEnum接口
public interface BaseEnum {
Integer getValue();
String getName();
}
3. EnumUtils工具類封裝判斷
public final class EnumUtils {
/**
* 判斷枚舉值是否存在於指定枚舉數組中
*
* @param enums 枚舉數組
* @param value 枚舉值
* @return boolean
*/
public static boolean isExist(BaseEnum[] enums, Integer value) {
if (value == null) {
return false;
}
for (BaseEnum e : enums) {
if (value.equals(e.getValue())) {
return true;
}
}
return false;
}
/**
* 根據枚舉值獲取其對應的name
*
* @param enums 枚舉數組
* @param value 枚舉值
* @return 枚舉值獲取其對應的name
*/
public static String getNameByValue(BaseEnum[] enums, Integer value) {
if (value == null) {
return "";
}
for (BaseEnum e : enums) {
if (value.equals(e.getValue())) {
return e.getName();
}
}
return "";
}
}
4. 測試
public class Test {
public static void main(String[] args) {
if (!EnumUtils.isExist(MethodEnum.values(), 5)) {
System.out.println("錯誤"); //s輸出錯誤
}
String nameByValue = EnumUtils.getNameByValue(MethodEnum.values(), 1);
System.out.println(nameByValue);
}
}
參考博文:https://blog.csdn.net/mayfly_hml/article/details/88872366
