栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA枚举类(Enum)的使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA枚举类(Enum)的使用

JAVA中枚举类的使用

枚举(enumeration),顾名思义就是列举,因此使用枚举类的前提就是有限、确定的。
我们使用枚举类可以通过两种方式:
一、自定义类型枚举类;
二、通过关键字enum来定义枚举类;
第二种方式相当于继承了java.lang.Enum下的枚举类(Enum)。
下面我会用这两种方式分别举例:

第一种:自定义枚举类型
自定义枚举类型,和我们平常自己定义类没有啥区别,并且我们要重写toString方法,不然它打印的是地址值

//这里先定义枚举类,测试代码放到后面
//自定义枚举类,这里我们定义了一个表示周的枚举类
class Week {
	//声明私有属性
	private final String name;
	
	//私有化类的构造器,并给对象属性赋值
	private Week(String name) {
		this.name = name;
	}
	
	//提供当前类的多个对象,既然是确定的就不允许改变
	public static final Week MonDAY = new Week("Mon");
	public static final Week TUESDAY = new Week("Tue");
	public static final Week WENDSDAY = new Week("Wen");
	public static final Week THURSDAY = new Week("Thur");
	public static final Week FRIDAY = new Week("Fri");
	public static final Week SATURDAY = new Week("Sat");
	public static final Week SUNDAY = new Week("Sun");
	
//	 获取枚举类对象的属性
	public String getName() {
		return name;
	}
	@Override
	public String toString() {
		return "name:"+this.name;
	}

}

第二种:利用关键字 enum 来定义
利用这种方式定义枚举类显然更简洁一些,而且不用重写toString方法

enum Season{
	
	SPRING("spring", "beautiful"),
	SUMMER("summer", "hot"),
	AUTUMN("autumn", "cool"),
	WINTER("winter", "cold");//这里注意类与类之间要用逗号隔开
	private String name;
	private String desc;
	//私有化构造器
	private Season(String name, String desc) {
		this.name = name;
		this.desc = desc;
	}
	//提供公共的访问方法
	public String getInfo() {
		return "name:"+this.name+"     desc:"+this.desc;
	}
}

测试代码:

public class EnumTest {
	public static void main(String[] args) {
		//第一种:
		String name1 = Week.MONDAY.getName();
		String str1 = Week.MONDAY.toString();
		System.out.println(name1);
		System.out.println(str1);
		
		//第二种:
		String name2 = Season.SUMMER.getInfo();
		String str2 = Season.SUMMER.toString();
		System.out.println(name2);
		System.out.println(str2);
	}
}
输出:
Mon
name:Mon
name:summer     desc:hot
SUMMER

枚举类中常用的方法:
String toString();
static Season[ ] values();//返回该枚举类中所有的枚举类对象
static Season valueOf(String str);//返回该枚举类中与字符串同名的的枚举类对象

public class EnumTest {
	public static void main(String[] args) {
	
			Season[] values = Season.values();
			for(int i=0;i 
输出:
SPRING
SUMMER
AUTUMN
WINTER
SUMMER

枚举类的学习就到这了。
敲代码是我快乐!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/288025.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号