zoukankan      html  css  js  c++  java
  • 【译】Java中的枚举

    前言

    译文链接:http://www.programcreek.com/2014/01/java-enum-examples/

    Java中的枚举跟其它普通类很像,在其内部包含了一堆预先定义好的对象集合;

    下面是若干个关于枚举的例子,可以帮助我们更好的使用枚举类型;

    一个简单的例子

    package simplejava;
    
    enum Color {
        RED, YELLOW, BLUE; // each is an instance of Color
    }
    
    public class Q5 {
    
        public static void main(String[] args) {
            for (Color color : Color.values()) {
                System.out.println(color);
            }
        }
    }

    结果输出:

    RED
    YELLOW
    BLUE

    调用构造方法

    package simplejava;
    
    enum Color {
        RED(1), YELLOW(2), BLUE(3); // each is an instance of Color
        private int value;
        private Color(int i) {
            this.value = i;
        }
        public void printValue(){
            System.out.println(this.value);
        }
    }
    
    public class Q5 {
    
        public static void main(String[] args) {
            for (Color color : Color.values()) {
                color.printValue();
            }
        }
    }

    结果打印:

    1
    2
    3

    什么时候使用枚举

    Java中的枚举与普通类很像,内部包含了一堆预先定义好的对象集合;

    一个比较好的使用场合是阻止无效参数,如下代码示例:

    public void doSomethingWithColor(int color);

    这是一个模棱两可的接口,其他开发人员根本不清楚往这个接口传入哪些参数,只知道是int类型;

    举个例子,假如你有一个枚举类型Color,包含BLACK,RED两个对象集合,那么这个接口就变成这样:

    public void doSomethingWithColor(Color color);

    使用枚举类型,将大大增强代码的可读性,同时可以防止传入无效的参数;

  • 相关阅读:
    zabbix
    Tomcat 部署Web应用
    WebLogic
    WebLogic部署集群和代理服务器
    WebLogic 中的基本概念
    GIT详解和GITHUB
    Tomcat 内存溢出对应解决方式
    apache和tomcat区别
    数据库介绍
    The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
  • 原文地址:https://www.cnblogs.com/chenpi/p/5486445.html
Copyright © 2011-2022 走看看