Java灵活使用枚举表示一组字符串的操作

网友投稿 243 2023-01-09

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 getByCode(Integer code, Class enumClass) {

for (T each: enumClass.getEnumConstants()) {

if (code.equals(each.getCode())) {

return eahttp://ch;

}

}

return null;

}

}

使用:

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

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:跨越快递物流查询单号(跨越快递单号查询号码)
下一篇:windows下vscode+vs2019开发JNI的示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~