一基础知识
枚举常量为枚举类型中的公有静态成员, 且其类型是声明他们的枚举类型这些常量被称为是自类型化的由于是静态常量, 所以可直接使用关系运算符来比较两个枚举常量是否相等此外可通过枚举类型定义的 values 方法和 valueOf 方法获取枚举常量数值
- class Solution {
- enum Color {
- RED,
- BLUE,
- GREEN
- }
- public static void main(String[] args) {
- Color[] colors = Color.values();
- for (Color c: colors) System.out.println(c);
- }
- }
枚举常量是其枚举类型的对象, 在定义枚举类型时可定义构造函数和方法所有的枚举都会自动继承 java.lang.Enum, 部分方法如下:
ordinal 方法返回枚举常量的序数值
compareTo 方法返回与同类型其他枚举常量比较的差值
equals 方法返回与同类型其他枚举常量是否相等
- class Solution {
- enum Color {
- RED("#FF0000"),
- BLUE("#0000FF"),
- GREEN("#00FF00");
- private String code;
- Color(String code) {
- this.code = code;
- }
- String getCode() {
- return code;
- }
- }
- public static void main(String[] args) {
- System.out.println(Color.valueOf("RED")); // 输出 RED
- System.out.println(Color.valueOf("BLUE")); // 输出 BLUE
- System.out.println(Color.valueOf("GREEN")); // 输出 GREEN
- Color[] colors = Color.values();
- for (Color c: colors) System.out.println(c.ordinal());
- for (Color i: colors) for (Color j: colors) {
- System.out.println(i.compareTo(j)); // 返回 i.ordinal - j.ordinal
- System.out.println(i.equals(j));
- }
- }
- }
来源: http://www.bubuko.com/infodetail-2499292.html