java-基础-【一】枚举
2017-04-06 13:28
141 查看
enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。
枚举类型符合通用模式
示例
这段代码实际上调用了7次 Enum(String name, int ordinal):
enum 对象的常用方法介绍
View Code
一、static final定义[jdk1.5之前]
public static fianl二、接口常量
public interface IConstants { String MON = "Mon"; String TUE = "Tue"; String WED = "Wed"; String THU = "Thu"; String FRI = "Fri"; String SAT = "Sat"; String SUN = "Sun"; }
三、枚举语法(定义)
创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 java.lang.Enum 类的子类(java.lang.Enum 是一个抽象类)。枚举类型符合通用模式
Class Enum<E extends Enum<E>>,而
E表示枚举类型的名称。枚举类型的每一个值都将映射到
protected Enum(String name, int ordinal)构造函数中,在这里,每个值的名称都被转换成一个字符串,并且序数设置表示了此设置被创建的顺序。
示例
public enum EnumTest { MON, TUE, WED, THU, FRI, SAT, SUN; }
这段代码实际上调用了7次 Enum(String name, int ordinal):
new Enum<EnumTest>("MON",0); new Enum<EnumTest>("TUE",1); new Enum<EnumTest>("WED",2); ... ...
四、遍历,switch等方法使用
遍历、switch 等常用操作for (EnumTest e : EnumTest.values()) { System.out.println(e.toString()); }
enum 对象的常用方法介绍
int compareTo(E o) 比较此枚举与指定对象的顺序。 Class<E> getDeclaringClass() 返回与此枚举常量的枚举类型相对应的 Class 对象。 String name() 返回此枚举常量的名称,在其枚举声明中对其进行声明。 int ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。 String toString() 返回枚举常量的名称,它包含在声明中。 static <T extends Enum<T>> T valueOf(Class<T> enumType, String name) 返回带指定名称的指定枚举类型的枚举常量。
五、自定义枚举
自定义自己的方法,必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义 enum 实例。public interface Behaviour { void print(); String getInfo(); } public enum Color implements Behaviour{ RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String name; private int index; // 构造方法 private Color(String name, int index) { this.name = name; this.index = index; } //接口方法 @Override public String getInfo() { return this.name; } //接口方法 @Override public void print() { System.out.println(this.index+":"+this.name); } }
View Code
九、使用接口组织枚举
public interface Food { enum Coffee implements Food{ BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO } enum Dessert implements Food{ FRUIT, CAKE, GELATO } }
相关文章推荐
- java 基础加强 类的枚举
- Java语言基础--枚举
- Java基础加强--自动装箱、享元模式、枚举
- 黑马程序员:Java基础总结----枚举
- 黑马程序员:Java基础总结----枚举
- 黑马程序员-JAVA基础加强-枚举
- Java基础-枚举的两种基本模式
- 黑马程序员—Java基础加强—(枚举)
- 黑马程序员:基础加强(可变参数、增强for、枚举、javabBean、BeanUtils、注解、泛型)
- JavaSE 拾遗(15)——JavaSE 高新技术基础增强...java5简单新特性和枚举
- Java基础------枚举常见7种用法
- java基础---->枚举
- java基础---->枚举
- Java基础复习:枚举(java.lang.Enum<E>)
- Java基础加强---枚举
- java基础学习:枚举 一
- Java基础加强枚举笔记
- 黑马程序员_java基础加强-枚举和反射
- JAVA基础——枚举
- 黑马程序员--Java基础加强--01.枚举常量被使用的时候的内存图