枚举实例的创建过程:枚举类型符合通用模式 Class Enum<E extends Enum<E>>,而 E 表示枚举类型的名称。枚举类型的每一个值都将映射到 protected Enum(String name, int ordinal) 构造函数中,在这里,每个值的名称都被转换成一个字符串,并且序数设置表示了此设置被创建的顺序。 public enum Color{ RED, GREEN, B...
Dayday=Day.MONDAY;intdayValue=day.ordinal();// dayValue 的值为 1 1. 2. 转换回枚举 intdayValue=2;Dayday=Day.values()[dayValue];// day 为 Day.TUESDAY 1. 2. 3. 完整示例 以下代码展示了如何在Java中实现int与枚举之间的转换,包括异常处理以确保转换的安全性。 publicenumDay{SUNDAY,MONDAY,TUES...
int -> enum: enumType b= enumType.values()[i]; 2. enum<->String enum -> String: enumType.name() String -> enum: enumType.valueOf(name);
enum FruitEnum { APPLE(1), ORANGE(2); // 调用构造函数来构造枚举项 private int value = 0; private FruitEnum(int value) { // 必须是private的,否则编译错误 this.value = value; } public static FruitEnum valueOf(int value) { // 手写的从int到enum的转换函数 switch (value) { case 1: r...
Java Enum和String及int的相互转化示例 一、定义性别枚举 枚举(enum),是指一个经过排序的、被打包成一个单一实体的项列表。使用枚举增加程序可读性、降低耦合性。 /** * 性别枚举 */ public enum Gender { male("男"),female("女"); private String name; ...
Javaenum与int类型的转换public enum BusinessMsgType { BUSINESSMSG_JOIN,BUSINESSMSG_QUIT,BUSINESSMSG_SCHEDULE,BUSINESSMSG_TASK };1. int 转化 enum int type = 0;BusinessMsgType msgType = BusinessMsgType.values()[type];2. enum 转化 int BusinessMsgType msgType = BusinessMsgType.BUSINESSMSG_JOIN;in...
下面我写一个例子,演示怎样将程序中的枚举类型转成int、获取描述 1.先看一下这个枚举类,里面描述了对象的状态还有描述 enum UserStatus { DELETE("删除"), NORMAL("正常"); private String name; private UserStatus(String name) { this.name = name; ...
Java中自定义枚举(Enum)项的值及int和Enum的互相转换 分类:java C++中定义枚举的时候可以直接指定枚举项的值,如:"enum {MAX_LENGTH = 255};"。其实Java也可以,今天学到了这种语法。C++的int和枚举互相转换使用强制类型转换即可,但在Java中从int构造Enum需要自己实现(不过如果枚举值从0开始递增就简单了,参考第二...
publicfinalintcompareTo(Eo){Enum<?>other=o;Enum<E>self=this;if(self.getClass()!=other.getClass()&&// optimizationself.getDeclaringClass()!=other.getDeclaringClass())thrownewClassCastException();returnself.ordinal-other.ordinal;} 思考 枚举的主要优点有: ...
publicenumColor{RED,GREEN,BLANK,YELLOW} 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。 代码语言:javascript 复制 enumSignal{GREEN,YELLOW,RED}publicclassTrafficLight{Signal color=Signal.RED;publicvoidchange(){switch(color){caseRED:color=Signal.GREEN;br...