Java靈活使用枚舉表示一組字符串的操作
更新時間:2021年06月08日 11:35:29 作者:思影影思
這篇文章主要介紹了Java靈活使用枚舉表示一組字符串的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
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;
}
}
程序輸出結(jié)果如下:
Hello World!
SPRING
spring
Java枚舉類的正確使用
規(guī)范使用枚舉類
public enum StatEnum {
SUCCESS(1,"成功"),
FAILD(0,"失敗"),
REPEAT(-1,"重復(fù)"),
INNER_ERROR(-2,"系統(tǒng)異常"),
DATA_ERROR(-3,"數(shù)據(jù)異常");
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()
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot整合Elasticsearch實(shí)現(xiàn)索引和文檔的操作方法
Elasticsearch 基于 Apache Lucene 構(gòu)建,采用 Java 編寫,并使用 Lucene 構(gòu)建索引、提供搜索功能,本文分步驟通過綜合案例給大家分享SpringBoot整合Elasticsearch的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧2021-05-05
java Spring MVC4環(huán)境搭建實(shí)例詳解(步驟)
spring WEB MVC框架提供了一個MVC(model-view-controller)模型-視圖-控制器的結(jié)構(gòu)和組件,利用它可以開發(fā)更靈活、松耦合的web應(yīng)用。MVC模式使得整個服務(wù)應(yīng)用的各部分(控制邏輯、業(yè)務(wù)邏輯、UI界面展示)分離開來,使它們之間的耦合性更低2017-08-08

