Java| enum枚举(1)
2017-06-22 23:52
302 查看
定义枚举
package cn.com.yves.enumeration.api1; /** * 所有自定义的枚举都继承抽象类:java.lang.Enum * * 注意:所有自定义枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类。 * * @author Yves He * */ public enum Car { /** * 定义枚举的实例: * * 每个实例的修饰权限是:public static final (类似下方定义的常量MESSAGE), * * 注意:也正是因为默认修饰权限是public static final所以不管何时获取到的枚举的实例都是同一个对象,可以理解成单例. * * Car.BAOMA == Car.valueOf("BAOMA") 返回true * * 书写建议:实例都是大写 */ BENCI, BAOMA, LANBOJINI; public static final String MESSAGE = "YVES"; }
测试代码
package cn.com.yves.enumeration.api1; public class Test { @SuppressWarnings("unused") public static void main(String[] args) { /** * 1.获取枚举的-实例: * * 获取单个实例 ,获取所有实例 * * 获取了枚举的实例就可以调用父类Enum中的方法 */ Car[] instances = Car.values();// 获取所有实例 Car instance1 = Car.BAOMA;// 获取单个实例 Car instance2 = Car.valueOf(Car.class, "BAOMA"); Car instance3 = Car.valueOf("BAOMA");// 根据 枚举实例的名称获取枚举实例(区分大小写) //Car instance = Car.valueOf("baoma");//这里名称填写的是不存在的枚举的名称,运行会抛出异常IllegalArgumentException: "No enum const " + enumType +"." + name /** * 2.调用父类Enum中的-静态方法 * * 具体解释可以看获取枚举实例部分. * */ Car[] values = Car.values(); Car car = Car.valueOf("BAOMA"); Car valueOf = Car.valueOf(Car.class, "BAOMA");//参数:Class<Car> enumType, String name /** * 3.调用父类Enum中的-实例方法(Enum中已经重写的方法:比如 compareTo,toString,equals...) */ Car ins = Car.BAOMA; boolean equ = ins.equals(Car.BAOMA);// true String name = ins.toString();// 放回name 也就是定义实例的名称,比如BAOMA int result = Car.BAOMA.compareTo(Car.BENCI);// 比较此枚举与指定对象的顺序,也就是枚举的声明的顺序 >0 代表benci在baoma后面. System.out.println(Car.BAOMA == instance3);//true /** * 4.调用父类Enum中特有的方法: name, ordinal * * */ Car ins2 = Car.BAOMA; String name2 = ins2.name();// 获取枚举实例 声明的名称,如BAOMA int ordina2 = ins2.ordinal();// 获取枚举实例 声明的位置,从0开始计算 System.out.println(); } }
相关文章推荐
- 高阶Java枚举类型enum使用详解
- Java Enum 枚举
- java enum 枚举类型
- Java enum(枚举)的简单使用
- Annotation & Enum :Java中注解和枚举的使用
- Java1.5 new feature --- Enum 枚举
- java enum枚举的使用
- java中枚举enum的使用
- JAVA1.5新特性----枚举Enum
- java中 foreach遍历枚举enum中的元素
- 高阶Java枚举类型enum使用详解
- java 中的enum(枚举)
- 黑马程序员--java的Enum枚举
- Java enum 枚举类型
- 急!!! Java 枚举 Enum --Swith..Case怎样操作枚举 求解?
- Java中的枚举enum
- Java Enum 枚举
- java 枚举 Enum
- Java5.0新特性05-枚举(enum)
- java enum(枚举)使用详解 + 总结