Java如何优雅地实现字符串枚举转换

字符串转枚举类型

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));
	}
}

你可能感兴趣的:(Java基础,java,开发语言,后端)