Java-枚举类型详解
实例一
有时候,变量的取值在一个有限的集合内。例如,服装的尺码(S、M、L、X)如果存储在变量中很容易出错,针对这种情况,可以自定义枚举类型。步骤如下:
1.创建枚举类
package com.dengfenglai;
/**
* @author: 等风来
* @date: 2021/7/6 8:22
* @description: 服装枚举类
*/
public enum Clothing {
S,M,L,X
}
2.创建启动类
package com.dengfenglai;
/**
* @author 等风来
*/
public class EnumApplication {
public static void main(String[] args) {
Clothing clothing = Clothing.X;
System.out.println("这件衣服的尺码为:" + clothing);
}
}
3.输出结果
结论
Clothing 类型的变量只能存储这个类型声明中给定的某个枚举值,这样可以限定变量范围,代码容易阅读,也容易维护。
实例二
在上一个枚举类中,它有4个实例,不可能构造新对象,因此,在比较两个枚举类型值时,不需要使用equals,直接使用”==“就可以。当然也可以为枚举类增加构造器、方法。
注意:枚举的构造器总是私有的
1.创建枚举类
package com.dengfenglai;
/**
* @author: 等风来
* @date: 2021/7/6 8:22
* @description: 服装枚举类
*/
public enum Clothing {
//衣服尺码
SMALL("S"),MEDIUM("M"),LARGE("L");
private String abbreviation;
Clothing(String abbreviation){
this.abbreviation = abbreviation;
};
public String getAbbreviation(){
return abbreviation;
}
}
2.创建启动类
package com.dengfenglai;
/**
* @author 25534
*/
public class EnumApplication {
public static void main(String[] args) {
System.out.println("这件衣服的尺码为:" + Clothing.LARGE.getAbbreviation());
}
}
枚举类常用API
返回给定类中有指定名字的枚举常量
static Enum valeOf(Class enumClass, String name);
package com.dengfenglai;
/**
* @author 25534
*/
public class EnumApplication {
public static void main(String[] args) {
System.out.println("枚举常量为:" + Clothing.valueOf(Clothing.class, "SMALL"));
}
}
返回枚举常量名
String toString();
返回枚举常量enum声明中的位置,位置从0开始计数
int ordinal();