美文网首页Spring.Net
枚举的几种使用方法

枚举的几种使用方法

作者: android121 | 来源:发表于2018-05-30 17:59 被阅读54次

今天第一次用到TimeUnit类的休眠方法,记录一下,同时复习一下枚举的几种使用方法

TimeUnit.SECONDS.sleep(seconds);//按秒休眠

TimeUnit.MILLISECONDS.sleep(seconds);//按毫秒数休眠

用法一:常量

在JDK1.5 之前,定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。

用法二:switch

JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让代码可读性更强。

用法三:向枚举中添加新方法

如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义 enum 实例。

用法四:覆盖枚举的方法

用法五:实现接口

所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类。

用法六:使用接口组织枚举

用法七:关于枚举集合的使用

java.util.EnumSet和java.util.EnumMap是两个枚举集合。EnumSet保证集合中的元素不重复;EnumMap中的 key是enum类型,而value则可以是任意类型。

用法一:常量

例子

public enum Color { 

  RED, GREEN, BLANK, YELLOW 

}

用法二:switch

例子

enum Signal {

        GREEN, YELLOW, RED

    }

    public class TrafficLight {

        Signal color = Signal.RED;

        public void change() {

            switch (color) {

            case RED:

                color = Signal.GREEN;

                break;

            case YELLOW:

                color = Signal.RED;

                break;

            case GREEN:

                color = Signal.YELLOW;

                break;

            }

        }

    }

用法三:向枚举中添加新方法

例子

public enum Color {

        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;

        }

        // 普通方法

        public static String getName(int index) {

            for (Color c : Color.values()) {

                if (c.getIndex() == index) {

                    return c.name;

                }

            }

            return null;

        }

        // get set 方法

        public String getName() {

            return name;

        }

        public void setName(String name) {

            this.name = name;

        }

        public int getIndex() {

            return index;

        }

        public void setIndex(int index) {

            this.index = index;

        }

    }

用法四:覆盖枚举的方法

例子

public class Test {

    public enum Color {

        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 toString() {

            return this.index + "_" + this.name;

        }

    }

    public static void main(String[] args) {

        System.out.println(Color.RED.toString());

    }

}

用法五:实现接口

例子

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);

        }

    }

用法六:使用接口组织枚举

例子

public interface Food {

        enum Coffee implements Food {

            BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO

        }

        enum Dessert implements Food {

            FRUIT, CAKE, GELATO

        }

    }

相关文章

  • 枚举的几种使用方法

    今天第一次用到TimeUnit类的休眠方法,记录一下,同时复习一下枚举的几种使用方法 TimeUnit.SECON...

  • TS学习笔记(6)-枚举类型

    枚举类型 ========= 知识点 枚举类型的定义方法 枚举类型的使用方法 代码

  • lambda 和枚举配合使用

    枚举的几种使用方式

  • 自定义枚举的使用示例

    1、定义枚举 2、 使用方法: 3、获取值

  • 枚举

    枚举 枚举就是专门用来表示几种固定类型的取值 枚举的本质就是基本数据类型,整型 枚举类型定义格式 定义枚举类型变量...

  • 第三节 枚举、可选项

    一.枚举 1.枚举的基本用法 两者等价,使用方法:var dir = Direction.westdir = Di...

  • Scala中的枚举

    与java不同,scala并没有提供枚举类型,而是通过Enumeration类的帮助来实现枚举功能的。 使用方法 ...

  • Swift枚举,结构体,类,扩展,协议

    1.枚举 有的变量只要几种取值的选择,在swift中对这种比较特殊的变量,可以定义为枚举类型 枚举的定义 枚举的代...

  • Java基础15:深入剖析Java枚举类

    本文介绍了枚举类的基本概念,使用方法,以及底层实现原理。帮助你更好地使用枚举类并且理解枚举类的内部实现细节。 具体...

  • Swift中枚举的使用方法简单介绍

    枚举我们大家都不太陌生了,我们在C或者OC中经常使用到,在这里简单记录下Swift中枚举的使用方法. 枚举的定义 ...

网友评论

    本文标题:枚举的几种使用方法

    本文链接:https://www.haomeiwen.com/subject/kusfqttx.html