java的枚举类型初始

1、含义:
     个人的理解是,枚举就相当于是程序员自己定义的一组变量集合,当需要使用这些变量时,你只能在这个定义好的变量集合中取。

2、作用:
     (1)限定取值范围,所有的内容只能从指定的范围中取得;
     (2)枚举还以按索引走,枚举的查找、比较、遍历都较为方便
     (3)枚举 限定了取值范围,因此它的数据安全相对较高一些。
     (4)枚举定义的类相对比较明了、实用。

3、用法:

(1)定义:
     public  enum  State
          {
                  SUCCESS ,  RETRY ,  ERROR ,  CRITICAL ,  BLOCKED
          }

 (2)调用:State state= State.SUCCESS;

 (3)用法总结:
     定义枚举类,本质上也是一个普通的java类,它也可以声明构造函数(但是只能是私有或者包级私有)、成员变量和成员方法,还能实现接口,值得注意的是,成员变量和成员方                      法的声明必须放在所有枚举值定义的后面。 enum定义时,定义出来的类型是默认继承java.lang.Enum类,并非Object类,它默认实现了java.lang.Comparable和 java.io.Serializable接口。所有的枚举类型都是final类,它没有子类。枚举值都是public static final,枚举值是常量,故通常应该大写。
(4)常用的方法:  int compareTo方法

                                 String name():返回枚举实例的名称

                   int ordinal() 返回枚举值在枚举中的索引

                   String toString()返回枚举的实例名称 比name更常用

                     valueOf()
                   values()
     用法如下:
     public class EnumTest {
          public static void main(String[] args){
               State sta =State.SUCCESS;
               System.out.println(sta );//FRI
               System.out.println(sta.name());//FRI
               System.out.println(sta .ordinal());//4
          System.out.println(State.valueOf("SUN").toLocaleString());//星期日
               System.out.println(sta.values().length);//7  获取枚举长度
          }
     }
遍历:
     for(State st:State.values()){
               System.out.println( st   );           }
 (5)枚举的构造函数:
     public enum Gender {
          MALE("男"),FEMALE("女");
          private String name;
          private Gender(String name){
          this.name =name;
    }
    public String getName(){
        return this.name;
    }

(6)适用范围:
  1. 包中、类中,不能在方法中;
  2. 使用场合:从另一个函数得到一个值,但是这个值只能够在一个范围内,实用枚举可以限制这个函数传递进来的值。
  3. 当考虑在类中要指定选项必须为某些类型时。

(7)注意事项
     枚举也像普通的类一样可以添加属性和方法,可以是静态的,也可以是非静态的
     注意:枚举定义时,必须写类体在最前面,否则会编译出错。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值