java学习之路--枚举类

定义枚举类型的例子

public enum Size{ SMALL,MEDIUM,LARGE,EXTRA_LARGE}

此类型是一个类,它刚好有4个实例,在此尽量不要构造新对象。
因此,在比较两个枚举类型的值时,不需要调用equals,直接使用“==”就可以了。
如果需要的话,可以在枚举类型中添加一些构造器,方法和域。当然构造器只是在构造枚举常量的时候被调用,下面是一个实例:

public enum Size
{
  SMALL("S"),MEDIUM("M"),LARGE("L"),EXTRA_LARGE("XL");
  private String abbreviation;
  private Size(String abbreviation){ this.abbreviation=abbreviation;}
  public String getAbbreviation(){ return abbreviation;}
  }

所有的枚举类型都是Enum类的子类,它们继承了这个类的许多方法。其中最有用的是toString,这个方法能够返回枚举常量名,例如,Size.SMALL.toString()将返回字符串“SMALL”.
toString 的逆方法是静态方法 valueOf。例如,语句:

Size s=Enum.valueOf(Size.class,"SMALL");

将s设置成Size.SMALL.
每个枚举类型都有一个静态的values方法,它将返回一个包含全部,枚举值的数组。例如如下调用:

Size[] values=Size.values();

返回包含元素 Size.SMALL,Size.MEDIUM,Size.LARGE和Size.EXTRA_LARGE的数组。
ordinal方法返回enum声明中枚举常量的位置,位置从0开始计数。例如:Size.MEDIUM.ordinal()返回1;
以下程序演示了枚举类型的工作方式:
ide中的代码展示
运行结果如下:
输入SMALL

API java.lang.Enum <E> 5.0
- static Enum valueOf(Class enumClass,String name)

返回指定名字,给定类的枚举常量

String toString()

返回枚举常量名

int ordinal()

返回枚举常量在enum声明中的位置,位置从0开始计数

int compareTo(E other)

如果枚举常量出现在other之前,则返回一个负值,如果this==other,则返回0,否则,返回正值。枚举常量的出现次序在enum声明中给出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值