Java中如何使用枚举表示一组字符串

发布时间:2021-06-08 14:32:38 作者:小新
来源:亿速云 阅读:308

这篇文章主要介绍了Java中如何使用枚举表示一组字符串,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Java枚举表示一组字符串

public class HelloWorld {
    public static void main(String []args) {
       System.out.println("Hello World!");
		System.out.println(Season.SPRING.toString());
		System.out.println(Season.SPRING.value());
    }
}
enum Season {
	SPRING("spring"), SUMMER("summer"), AUTUMN("autumn"), WINTER("winter");
	
	public final String value;
	private Season(String value) {
		this.value = value;
	}
	
	public String value() {
		return this.value;
	}
}

程序输出结果如下:

Hello World!
SPRING
spring

Java枚举类的正确使用

规范使用枚举类

public enum StatEnum {
    SUCCESS(1,"成功"),
    FAILD(0,"失败"),
    REPEAT(-1,"重复"),
    INNER_ERROR(-2,"系统异常"),
    DATA_ERROR(-3,"数据异常");
    private  int state;
    private  String stateInfo;
    StatEnum(int state, String stateInfo) {
        this.state = state;
        this.stateInfo = stateInfo;
    }
    public int getState() {
        return state;
    }
    public String getStateInfo() {
        return stateInfo;
    }
    public static StatEnum stateOf(int index){
        for(StatEnum state: values()){
            if(state.getState() == index){
                return state;
            }
        }
        return  null;
    }
}

枚举搭配接口一起使用

// 定义接口
public interface CodeEnum {
    Integer getCode();    
    String getMessage();
}
// 定义枚举
public enum StatusEnum implements CodeEnum {
    SUCCESS(0, "成功"),
    DAILD(1, "失败");
    private Integer code;
    private String message;
    StatusEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
    
    @Override
    public Integer getCode() {
        return code;
    }
    @Override
    public String getMessage() {
        return message;
    }
}
// 定义工具类
public class EnumUtil {
    public static <T extends CodeEnum> T getByCode(Integer code, Class<T> enumClass) {
        for (T each: enumClass.getEnumConstants()) {
            if (code.equals(each.getCode())) {
                return each;
            }
        }
        return null;
    }
}

使用:

EnumUtil.getByCode(0, StatusEnum.class).getMessage()
EnumUtil.getByCode(1, StatusEnum.class).getCode()

感谢你能够认真阅读完这篇文章,希望小编分享的“Java中如何使用枚举表示一组字符串”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

推荐阅读:
  1. java枚举与.net中的枚举区别
  2. java中的枚举如何使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java 枚举 字符串

上一篇:windows下vscode+vs2019开发JNI的案例分析

下一篇:项目中Axios二次封装的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》