masterJ2SE篇006——Enum
来源:互联网 发布:股票软件的数据看不懂 编辑:程序博客网 时间:2024/06/05 15:46
枚举在实际项目中的使用频路还是挺高的,有些比较稳定的数据集是非常适合放在枚举中的。比如订单的状态,错误码等等。
enum 的语法结构尽管和 class 的语法不一样,但是经过编译器编译之后产生的是一个class文件。该class文件经过反编译可以看到实际上是生成了一个类,该类继承了java.lang.Enum<E>。
所以定义一个枚举的时候是禁止继承的,否则就和java.lang.Enum冲突了。
Enum中的构造方法必须是私有的,因为Enum里的元素在编译的时候已经确定了,就是你定义的那一些。
最简单的Enum
public enum EnumTest {
MON, TUE, WED, THU, FRI, SAT, SUN;
}
这段代码实际上调用了7次 Enum(String name, int ordinal):
new Enum<EnumTest>("MON",0);
new Enum<EnumTest>("TUE",1);
new Enum<EnumTest>("WED",2);
...........
enum对象的常用方法介绍
int compareTo(E o) 比较此枚举与指定对象的顺序。
Class<E> getDeclaringClass() 返回与此枚举常量的枚举类型相对应的 Class 对象。
String name() 返回此枚举常量的名称,在其枚举声明中对其进行声明。
int ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
String toString() 返回枚举常量的名称,它包含在声明中。
实际项目中都会给Enum指定属性和方法,以下是某个项目中的实例,值得参考
package com.zls.masterjava.request.simple;
import java.io.Serializable;
public interface EnumBase extends Serializable {
public String name();
public String code();
public String message();
}
package com.zls.masterjava.request.simple;
public enum OrderStatusEnum implements EnumBase {
SUCCESS("SUCCESS", "成功"),
FAIL("FAIL", "失败");
private String code;
private String message;
private OrderStatusEnum(String code, String message) {
this.code = code;
this.message = message;
}
@Override
public String code() {
return code;
}
@Override
public String message() {
return message;
};
}
0 0
- masterJ2SE篇006——Enum
- masterJ2SE篇001——MessageFormat
- masterJ2SE篇004——二维码
- masterJ2SE篇007——Serializable serialVersionUID
- masterJ2SE篇008——报文
- masterJ2SE篇010——OutOfMemoryError
- masterJ2SE篇003——使用脚本启动java程序
- masterJ2SE篇005——重写toString()利器ToStringBuilder
- masterJ2SE篇002——Windows与Linux回车换行的转换
- java——enum
- c——enum
- Android —— 枚举Enum
- Java 基础 —— enum
- C#的Enum—枚举
- java5 学习笔记3——Enum
- C#的Enum——枚举
- C#的Enum——枚举
- C#的Enum——枚举
- Java 缺少X11
- Filter
- 安卓去掉界面的标题栏
- C/C++笔试必须熟悉掌握的头文件系列(一)——stdio.h/cstdio
- java实现打开浏览器并跳到指定网址的类
- masterJ2SE篇006——Enum
- issue
- android.permission.cts.DebuggableTest -- testNoDebuggable
- 空格会破坏垂直居中的样式
- webpack的配置文件为什么没起作用?
- 回溯算法-定和子集问题
- 关于实现获取span标签的值加1后赋值给原来的标签
- easyui-tree获取当前选择节点的所有顶级父节点
- message_zh_CN.properties中文乱码的问题