Lucky-gril
积少成多,每天进步一点点。

新项目中很多常量都是使用Enum来定义的,好处:代码美观,使用方便

一、enum类型的特征。

   1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。 

2.所有枚举值都是public , static , final的。注意这一点只是针对于枚举值,我们可以和在普通类里面定义 变量一样定义其它任何类型的非枚举变量,这些变量可以用任何你想用的修饰符。 

3.Enum默认实现了java.lang.Comparable接口。 

4.Enum覆载了了toString方法,因此我们如果调用Color.Blue.toString()默认返回字符串”Blue”. 

5.Enum提供了一个valueOf方法,这个方法和toString方法是相对应的。调用valueOf(“Blue”)将返回Color.Blue.因此我们在自己重写toString方法的时候就要注意到这一点,一把来说应该相对应地重写valueOf方法。 

6.Enum还提供了values方法,这个方法使你能够方便的遍历所有的枚举值。 

7.Enum还有一个oridinal的方法,这个方法返回枚举值在枚举类种的顺序,这个顺序根据枚举值声明的顺序而定,这里Color.Red.ordinal()返回0。

二、enum类型如何使用
1.values()方法返回一个数组,可以循环遍历出所有的Enum定义的值。

  for (AccountStatusEnum a : AccountStatusEnum.values()) {
    System.out.println(a);
  }


  结果:

  SUCCESS
FAIL

2.在enum中定义方法和变量,可以定义自己的私有构造函数。

        SUCCESS(0, "开户成功待审核"), FAIL(1, "开户失败");

        private AccountStatusEnum(int status, String desc) {
    this.status = status;
    this.desc = desc;
  }

 

     3.switch()参数可以使用enum了 

     PS:个人目前用到的就这么多,以后用到了再来总结完善。

 

posted on 2018-07-27 11:33  Lucky-gril  阅读(174)  评论(0编辑  收藏  举报