枚举简介

        枚举(ENUM):我们所定义的每个枚举类型都继承自java.lang.Enum类,枚举中的每个成员默认都是public static final的。

       而每个枚举的成员其实就是自己定义的枚举类型的一个实例。


package com.wansha.enumdemo;
/**
 * 
 *枚举在编译的时候就已经生成了对象,枚举中有几个成员,编译器就自动生成几个对象,
 *自己是不能生成枚举对象的 
 * @author sharp
 *
 */
public enum EnumDemo3 {
	RED("hello"),WHITE("world"),BLACK("welcome"); //每个成员变量都是枚举的一个对象,带构造方法传值!
	private String value;

	public String getValue() {
		return value;
	}

	private EnumDemo3(String value) {   //枚举的构造方法
		this.value = value;
	}
	public static void main(String[] args) {
		EnumDemo3 enumDemo3 = EnumDemo3.BLACK;
		System.out.println(enumDemo3.getValue()); //输出welcome
	}
	
}

枚举常用API DEMO

package com.wansha.enumdemo;

import java.util.EnumSet;

public class EnumDeom2 {
	public static void main(String[] args) {
		EnumSet<Font> enumset = EnumSet.of(Font.RED,Font.BLUE);
		sort(enumset);//  RED,BLUE
		System.out.println("-------------");
		sort(EnumSet.complementOf(enumset));// WHITE,GREEN
		System.out.println("---------------");
		EnumSet<Font> enumset2 = EnumSet.noneOf(Font.class);
		enumset2.add(Font.BLUE);
		enumset2.add(Font.GREEN);
		sort(enumset2);//BLUE,GREEN
		
	}
	public static void sort(EnumSet<Font> enumset){
		for(Font font:enumset){
			System.out.println(font);
		}
	}
}
enum Font{
	RED,WHITE,BLUE,GREEN
}


### Python 枚举的使用方法 #### 枚举简介 Python 枚举是一种用于定义固定值的数据类型,这有助于提高代码的可读性和可维护性[^1]。 #### 创建枚举类 在 Python 中,可以通过 `enum` 模块创建枚举类。自版本 3.4 起,Python 添加了 `enum` 标准库以支持枚举类型的实现[^2]。 ```python from enum import Enum, auto class Color(Enum): RED = 1 GREEN = 2 BLUE = 3 ``` 上述例子展示了如何基于整数值定义一个简单的枚举类 `Color`。还可以利用 `auto()` 函数自动分配成员值: ```python class Status(Enum): PENDING = auto() STARTED = auto() COMPLETED = auto() ``` #### 访问枚举成员及其属性 可以像访问常规变量一样获取枚举成员,并能查看其名称和关联的值: ```python print(Color.RED.name) # 输出: 'RED' print(Color.RED.value) # 输出: 1 ``` #### 遍历枚举成员 如果想要遍历整个枚举集合,则可以直接迭代该枚举类的对象: ```python for color in Color: print(f"{color.name} -> {color.value}") ``` 这段代码会依次打印出所有颜色的名字以及它们对应的编号。 #### 将枚举转换成字符串或整数 有时可能需要将枚举实例转为其他形式以便于存储或者传输。对于这种情况,可以分别调用 `.name` 和 `.value` 属性来获得所需的结果;而当要从外部数据恢复到具体的枚举项时,通常采用如下方式之一: - **通过名字查找**:假设有一个名为 `status_name` 的字符串变量保存着状态名,则可通过 `Status[status_name.upper()]` 来得到相应枚举; - **通过值匹配**:如果有代表某种状态的整型变量 `status_value` ,则可以用 `(Status(status_value))` 进行反序列化操作。 #### 枚举的应用场景 枚举非常适合用来处理那些具有有限数量选项的情况,比如星期几、月份、性别等概念,在这些场合下运用枚举能够显著增强程序逻辑表达力并减少错误发生的可能性[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值