java枚举类型简介

1、枚举类型的简单应用

1.1、简介/练习
在这里插入图片描述
在这里插入图片描述
测试练习:

//枚举类型的定义与应用
	public enum Color{
		red,green,blue;
	}
	@Test
	public void testDemo1() {
		//取出一个颜色值并输出
		Color color=Color.blue;
		System.out.println(color);
		
		//遍历枚举类型的数据可以使用“枚举.values()”的形式,将该全部的枚举类型变为对象数组
		//的形式,之后直接使用foreach进行输出。
		for(Color c:Color.values()) {
			System.out.println(c);
		}
		//通过switch 判断输出
		for(Color c:Color.values()) {
			switch(c) {
			case red:
				System.out.println("红色");
			default:
				break;
			}
		}
	}

结果:
在这里插入图片描述
1.2、Enum类的详解
在这里插入图片描述
在这里插入图片描述
1.3、取得枚举的信息
在这里插入图片描述

// 2、为每一个枚举对象属性赋值
	enum Color1 {
		RED("红色"), GREEN("绿色"), BLUE("蓝色");

		private Color1(String name) {
			this.setName(name);
		}

		private String name;

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}
	}

	@Test
	public void testDemo3() {
		//遍历枚举
		for(Color1 c:Color1.values()) {
			//修改属性值
			if("RED".equals(c.name())) {
				c.setName("红色1号");
			}
			//输出枚举的全部内容
	        System.out.println(c.ordinal()+"-->"+c.name()+c.getName());
		}
	}

结果:
在这里插入图片描述
1.4、类集对枚举的支持———EnumMap、EnumSet
在这里插入图片描述
1.4.1、EnumMap
在这里插入图片描述

// 3、测试练习EnumMap
	// 枚举类型的定义与应用
	public enum Color {
		red, green, blue;
	}

	@Test
	public void testDemo4() {
		Map<Color, String> colMap = new EnumMap<Color, String>(Color.class);
		colMap.put(Color.red, "红色");
		colMap.put(Color.blue, "蓝色");
		colMap.put(Color.green, "绿色");
		// 输出全部内容
		System.out.println("输出全部内容");
		for (Color c : colMap.keySet()) {
			System.out.println(c.name() + "-->" + colMap.get(c));
		}
	}

结果:
在这里插入图片描述
1.4.2、EnumSet
在这里插入图片描述
在这里插入图片描述
测试与练习:

	// 4、测试练习EnumSet
	// 枚举类型的定义与应用
	public enum Color {
		red, green, blue;
	}

	@Test
	public void testDemo5() {
		// 初始化一个EnumSet集合 将枚举的全部类型设置到EnumSet对象中
		EnumSet<Color> es = EnumSet.allOf(Color.class);
		System.out.println(es);

		// 初始化一个EnumSet集合 值设置一个枚举的类型到集合中
		es = EnumSet.of(Color.blue);
		System.out.println(es);
		
		//复制集合的内容
		EnumSet<Color> newEs=EnumSet.copyOf(es);
		System.out.println(newEs);
	}
}

结果:
在这里插入图片描述
1.4.3、让枚举类实现一个接口
枚举类也可以实现一个接口,但是因为接口中会存在抽象方法,多以枚举类中的每个对象都必须分别实现此抽象方法

//6、枚举类实现接口
	//定义一个接口
	interface Print{
		public String getColor();
	}
	//枚举类实现接口
	enum Color3 implements Print{
		//枚举对象实现抽象方法
		RED{
			public String getColor() {
				return "红色";
			}
		},
		GREEN{
			public String getColor() {
				return "绿色";
			}
		},
		BLUE{
			public String getColor() {
				return "蓝色";
			}
		};
	}
	@Test
	public void testDemo6() {
		//遍历输出枚举
		for(Color3 c:Color3.values()) {
			System.out.println(c.getColor()+"、");
			}
	}

结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值