Java中的枚举

    技术2022-05-18  14

    为什么要有枚举?

     

    现在假设有这样一个问题,要定义星期几或者性别的变量,该怎么定义?假设用1-7分别表示星期一到星期日,但有人可能写成int weekday = 0

     

    枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标。

     

    下面来看一个枚举的定义:

    Week.java

     package com.richer; public enum Week { MON,TUES,WED,THUR,FRI,SAT,SUN }

     

    由此看来,枚举就相当于一个类,而枚举里面的每一个元素就相当于这个类的多个实例对象。

     

    枚举的常用方法:

    .toString() 返回枚举常量的名称

    .name() 返回此枚举常量的名称,在其枚举声明中对其进行声明

    .ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)

    .getDeclaringClass() 返回与此枚举常量的枚举类型相对应的 Class 对象

    .valueOf(Class<T> enumType, String name) 返回带指定名称的指定枚举类型的枚举常量


    最新回复(0)