这篇文章主要介绍了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
规范使用枚举类
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中如何使用枚举表示一组字符串”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。