枚举的基本用法

枚举是一种特殊的数据,它的取值是有限的,可以枚举出来的。

基本用法

举个栗子,为表示衣服的尺寸,需要定义一个枚举类型Size。Size包括三个尺寸,小/中/大。

1
2
3
public enum Size {
SMALL, MEDIUM, LARGE
}

枚举使用enum关键字来定义,Size包括三个值,分别表示小、中、大。值一般是大写的字母,多个值之间以逗号分隔

枚举类型可以定义为一个单独的文件,也可以定义在其他类内部。

使用Size:

1
Size size = Size.MEDIUM;

Size size声明了一个变量size,它的类型是Size,size=Size.MEDIUM将枚举值MEDIUM赋值给size变量。

1
2
3
Size size = Size.SMALL;
System.out.println(size.toString()); //输出SMALL
System.out.println(size.name()); //输出SMALL

枚举变量的toString方法返回其字面值(SMALL),所有枚举类型也有一个name方法,返回值与toString一样。

枚举值是有顺序的,可以比较大小。

枚举类型都有一个方法**int ordinal()**,表示枚举值在声明时的顺序,从0开始。

枚举类型都实现了Java API中的Comparable接口,都可以通过方法compareTo与其他枚举值比较ordinal的大小。

1
2
3
4
5
Size size = Size.SMALL;
System.out.println(size.ordinal()); //输出0
size = Size.MEDIUM;
System.out.println(size.ordinal()); //输出1
System.out.println(Size.SMALL.compareTo(Size.MEDIUM)); //输出-1,表示SMALL小于MEDIUM

枚举类型都有一个静态的valueOf(String)方法,可以返回字符串对应的枚举值。

1
System.out.println(Size.SMALL==Size.valueOf("SMALL")); //输出true

枚举类型都有一个静态的values方法,返回一个包括所有枚举值的数组,顺序与声明时的顺序一致。

1
2
3
for(Size size : Size.values()) {
System.out.println(size);
}

屏幕输出三行,分别是SMALL,MEDIUM,LARGE。

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2021 Silver Shaded
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信