字符串转枚举类型
public enum Status {
RUNNING("running"),
STOP("stop");
private final String status;
Status(String status) {
this.status = status;
}
@Override
public String toString() {
return this.status;
}
// 实现字符串转枚举的静态方法
public static Status fromStatus(String status) {
if (status == null) {
return null;
}
return EnumSet.allof(Status.class).stream()
.filter(s -> s.toString.equals(status))
.findAny()
.orElseThrow(() -> new IllegalArgumentException("Invalid status: " + status));
}
}