Enum的一点点理解

 枚举类型的创建

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  Objectclone()
          Throws CloneNotSupportedException.
 intcompareTo(E o)
          Compares this enum with the specified object for order.
 booleanequals(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.
 inthashCode()
          Returns a hash code for this enum constant.
 Stringname()
          Returns the name of this enum constant, exactly as declared in its enum declaration.
 intordinal()
          Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).
 StringtoString()
          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()方法来至此处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值