百度查询"枚举"含义:
在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。
是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就是一个枚举。
总结:枚举就是一一列举
- 枚举的创建过程:
import com.baomidou.mybatisplus.core.enums.IEnum;
import com.thymeleaf.thymeleafstudy.entity.NumberEntity;
import java.util.ArrayList;
import java.util.List;
/**
* 数字枚举
* @author lenovo
*/
public enum number implements IEnum<String> {
/**
* 1
*/
NUMBER_1("1","阿拉伯数字1"),
/**
* 2
*/
NUMBER_2("2","阿拉伯数字2"),
/**
*3
*/
NUMBER_3("3","阿拉伯数字3"),
/**
*4
*/
NUMBER_4("4","阿拉伯数字4"),
/**
*汉字大写壹
*/
NO_1("壹","汉字大写壹"),
/**
*汉字大写贰
*/
NO_2("贰","汉字大写贰"),
/**
*汉字大写叁
*/
NO_3("叁","汉字大写叁"),
/**
*汉字大写肆
*/
NO_4("肆","汉字大写肆"),
/**
*汉字大写伍
*/
NO_5("伍","汉字大写伍"),
/**
*汉字大写陆
*/
NO_6("陆","汉字大写陆"),
;
private String value;
private String desc;
number(final String value, final String desc) {
this.value=value;
this.desc=desc;
}
@Override
public String getValue() {
return this.value;
}
private String getDesc() {
return this.desc;
}
/**
* 获取所有字典
* @param prefix
* @return
*/
public static List<NumberEntity> queryAll(String prefix) {
System.out.println("数字参数"+prefix);
List<NumberEntity> list = new ArrayList<>();
for (number t : number.values()) {
System.out.println("枚举值"+t.getValue());
if(t.name().contains(prefix)){
NumberEntity numberEntity = new NumberEntity();
numberEntity.setValue(t.getValue());
numberEntity.setDesc(t.getDesc());
System.out.println("字典项"+numberEntity);
list.add(numberEntity);
}
}
return list;
}
}
import lombok.Data;
/**
* @author lenovo
*/
@Data
public class NumberEntity {
private String value;
private String desc;
}
- 使用枚举:
/**
* 根据枚举前缀获取枚举值
* @param prefix
* @return
*/
@GetMapping("/{prefix}")
public List<NumberEntity> send(@PathVariable("prefix") String prefix){
return number.queryAll(prefix);
}
好的,枚举代码到此结束。
如何使用呢?
如下:
浏览器打开改接口:http://localhost:8080/emailInfo/NO
备注:NO是枚举中的前缀
[
{"value":"壹","desc":"汉字大写壹"},
{"value":"贰","desc":"汉字大写贰"},
{"value":"叁","desc":"汉字大写叁"},
{"value":"肆","desc":"汉字大写肆"},
{"value":"伍","desc":"汉字大写伍"},
{"value":"陆","desc":"汉字大写陆"}
]
浏览器打开改接口:http://localhost:8080/emailInfo/NUMBER
备注:NUMBER是枚举中的前缀
[
{"value":"1","desc":"阿拉伯数字1"},
{"value":"2","desc":"阿拉伯数字2"},
{"value":"3","desc":"阿拉伯数字3"},
{"value":"4","desc":"阿拉伯数字4"}
]