码迷,mamicode.com
首页 > 编程语言 > 详细

Java笔记:枚举

时间:2018-02-16 16:04:33      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:继承   rgs   比较   system   差值   通过   ret   post   for   

一、基础知识

枚举常量为枚举类型中的公有静态成员,且其类型是声明他们的枚举类型。这些常量被称为是自类型化的。由于是静态常量,所以可直接使用关系运算符来比较两个枚举常量是否相等。此外可通过枚举类型定义的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));
            }
    }
}

 

Java笔记:枚举

标签:继承   rgs   比较   system   差值   通过   ret   post   for   

原文地址:https://www.cnblogs.com/arseneyao/p/8450142.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!