枚举的特点:

  1. enum和class、interface的地位一样
  2. 使用enum定义的枚举类默认继承了java.lang.Enum,而不是继承Object类。枚举类可以实现一个或多个接口。
  3. 枚举类的所有实例都必须放在第一行展示,不需使用new 关键字,不需显式调用构造器。自动添加public static final修饰。
  4. 使用enum定义、非抽象的枚举类默认使用final修饰,不可以被继承。
  5. 枚举类的构造器只能是私有的。

枚举一代码示例:

public enum  enumColor {
RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
// 成员变量
private String name;
private int index;
// 构造方法
private enumColor(String name, int index) {
this.name = name;
this.index = index;
}
public static String getName(int index){
for (enumColor c : enumColor.values()) {
if (c.getIndex() == index) {
return c.name;
}
}
return null;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getIndex() {
return index;
} public void setIndex(int index) {
this.index = index;
}
}

测试结果:

public class Test {
public static void main(String[] args) {
String name = enumColor.getName(1);
System.out.println(name);//红色
}
}

枚举二代码示例:

public enum enumSSS {

    /**
* 开始
*/
BEGIN("开始","开始1",1), /**
* 进行
*/
MONEY_ING("进行","进行2",2),
/**
* 结束
*/
MONEY_END("结束","结束3",3); private String name;
private String title;
private int code;
//title和name与"开始","开始1"一一对应;如果title和name互换,则getName和getTitle获得的值互换。
enumSSS(String title, String name, int code) {
this.title = title;
this.name = name;
this.code = code;
} public static String getName(int code) {
for (enumSSS status : enumSSS.values()) {
if (status.getCode() == code) {
return status.name;
}
}
return null;
}
public static String getTitle(int code) {
for (enumSSS status : enumSSS.values()) {
if (status.getCode() == code) {
return status.title;
}
}
return null;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getCode() {
return code;
} public void setCode(int code) {
this.code = code;
} public String getTitle() {
return title;
} public void setTitle(String title) {
this.title = title;
}
}

测试结果:

public class Test {
public static void main(String[] args) {
String name = enumSSS.getName(1);
System.out.println(name);//开始1
String title = enumSSS.getTitle(1);
System.out.println(title);//开始
}
}

最新文章

  1. C#事件的理解应用
  2. run time
  3. Leetcode: Minimum Unique Word Abbreviation
  4. UIKit框架之UIEvent
  5. 基于TCPCopy的Dubbo服务引流工具-DubboCopy
  6. Spring-2-J Goblin Wars(SPOJ AMR11J)解题报告及测试数据
  7. 解决在VMware中安装64位系统时“此主机具有虚拟化支持能力的,但虚拟化技术被禁用”的方法
  8. Spring-IOC之前世今生
  9. iOS 获取项目名称及版本号
  10. 【转】java中byte, int的转换, byte String转换
  11. path类和directory类对文件的路径或目录进行操作
  12. C# WebBrowser 代理的使用
  13. oracle 10G 没有 PIVOT 函数怎么办,自己写一个不久有了
  14. 利用alias在Linux下设置命令别名
  15. JAVA中String类的方法(函数)总结--JAVA基础
  16. Katalon Studio之接口测试中token处理
  17. 数据结构Java实现03----栈:顺序栈和链式堆栈
  18. visualization of filters keras 基于Keras的卷积神经网络(CNN)可视化
  19. k3生成解决方案时错误处理
  20. GroupBy分组的运用和linq左连接

热门文章

  1. mysql优化---订单查询优化(1):视图优化+索引创建
  2. 号外!号外!呼叫所有.NET桌面和移动开发人员!
  3. AOSP 预置 APP
  4. cs231n---语义分割 物体定位 物体检测 物体分割
  5. springboot+支付宝条码支付开发详解
  6. HBase 系列(二)—— HBase 系统架构及数据结构
  7. 2019Hexo博客Next主题深度美化 打造一个炫酷博客(2)-奥怪的小栈
  8. 区间K大数
  9. Python: 转换文本编码
  10. Ubuntu 18.04 下载地址