目录
一、枚举类型的定义
二、枚举类型的使用
(一)、枚举类型的常用方法
(二)、枚举的简单使用
(1)、和switch的搭配使用
(2)、枚举类型的values方法
(3)、枚举类型的valueOf方法
(4)、枚举类型的compareTo方法
三、优点和缺点
一、枚举类型的定义
我们需要将不同变量编号时,通常将其变量进行赋值为1,2,3...但是这么做有时候会吧1误以为某个变量,这时我们可以直接用枚举来组织,这样一来就有了枚举类型。
如图:
上面的变量都有序了,上面变量没赋值,序号默认为0,1,2
二、枚举类型的使用
(一)、枚举类型的常用方法
(二)、枚举的简单使用
先创建一个枚举类
代码如下:
public enum TestEnum {RED(1, "红色"),GREEN(2, "绿色"),BLACK(3, "黑色");private int ordinal;private String color;//构造方法默认为私有的private TestEnum(int ordinal, String color) {this.ordinal = ordinal;this.color = color;}
(1)、和switch的搭配使用
代码如下:
public static void main(String[] args) {TestEnum color = RED;switch (color) {case RED:System.out.println("红色");break;case GREEN:System.out.println("绿色");break;case BLACK:System.out.println("黑色");break;default:System.out.println("error");break;}}
这种情况会打印 红色
(2)、枚举类型的values方法
代码如下:
public static void main(String[] args) {TestEnum[] testEnum = TestEnum.values();for(int i = 0; i < testEnum.length; i++) {//打印枚举所有变量的序号System.out.println(testEnum[i].ordinal);//打印枚举所有变量的下标System.out.println(testEnum[i].ordinal());//打印枚举所有变量的color值System.out.println(testEnum[i].color);}
结果如下
(3)、枚举类型的valueOf方法
代码如下:
public static void main(String[] args) {//以普通字符串转换为枚举实例TestEnum testEnum = TestEnum.valueOf("GREEN");System.out.println(testEnum);}
结果如下:
(4)、枚举类型的compareTo方法
代码如下:
public static void main(String[] args) {//比较两个枚举成员定义时的顺序System.out.println(RED.compareTo(BLACK));}
结果如下:
三、优点和缺点
优点:
1、枚举具有内置方法,代码更简洁,优雅
2、枚举常量更具安全性
缺点:不能继承,无法扩展