Enum的一点点理解
来源:互联网 发布:vb调用大漠插件 编辑:程序博客网 时间:2024/05/17 04:33
枚举类型的创建
public enum NameOfEnum{ FIELD1,FIELD2,.....}
由于enum自身是一个class所以它也有构造函数
public enum ResourcesType implements IEnum{FOLDER("FOLDER", "目录,文件夹"),FILE("FILE", "文件"),MENU("MENU", "菜单"), URL("URL", "统一资源定位符(URL)"), FUNCTION("FUNCTION", "函数");private String code;private String text; private ResourcesType(String code, String text) {this.code = code;this.text = text;}public String getCode() {return code;}public void setCode(String code) {this.code = code;}public String getText() {return text;}public void setText(String text) {this.text = text;}}
Note:enum的构造函数为private 而且这个构造函数的调用只是在创建内部值时才调用 外部不得调用
也就是说其实enum内的值时enum自身的instance而且为public static final 类型
Enum中的方法:(复制于API)
protected Object
clone()
Throws CloneNotSupportedException.
int
compareTo(E o)
Compares this enum with the specified object for order.
boolean
equals(Object other)
Returns true if the specified object is equal to this enum constant.
Class<E>
getDeclaringClass()
Returns the Class object corresponding to this enum constant's enum type.
int
hashCode()
Returns a hash code for this enum constant.
String
name()
Returns the name of this enum constant, exactly as declared in its enum declaration.
int
ordinal()
Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).
String
toString()
Returns the name of this enum constant, as contained in the declaration.
static
<T extends Enum<T>>
T
valueOf(Class<T> enumType,String name)
Returns the enum constant of the specified enum type with the specified name.
上面的那些方法都很容易理解 唯一的有点让人费解的方法是values()因为找不到出处 在Api中Enum中没这个方法 但是它又是存在的
而且查资料显示
其实enum,class,interface均是java.lang.annotation.ElementType的type
TYPE
public static final ElementType TYPE
- Class, interface (including annotation type), or enum declaration
所以enum的values()方法来至此处
- Enum的一点点理解
- 一点点指针的理解
- maven的一点点的理解
- 对jsp的一点点理解
- 一点点arm bootloader的理解
- 关于latch的一点点理解
- 有关KMP的一点点理解
- 对指针的一点点理解
- 对static的一点点理解
- 对Thrift的一点点理解
- 对Thrift的一点点理解
- 对Dijkstra的一点点理解。
- SVM算法的一点点理解
- GCD死锁的一点点理解
- 对于KMP算法的一点点理解(仅仅就是一点点)
- enum类的使用理解
- VC++与Matlab的一点点理解
- 对MFC原理的一点点理解
- 试用 Entity Framework Power Tools CTP1 [ 不用再为生成实体类发愁了 ]
- 锁定表头和列
- 状态模式
- (转)D3D-Z缓冲
- linux服务管理命令总结
- Enum的一点点理解
- 求子数组之和最大值(包括循环)
- UIKeyboard键盘相关知识点-IOS开发
- 删除VS开发的Office插件
- 文件操作及常用函数整理
- javascript转换.net DateTime方法 (比如转换\/Date(1319878800000+0800)\/)
- Android学习笔记(一)
- crontab 定时备份oracle数据失败的处理方法
- 基于Widnows平台的7类常见的安全测试工具