博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 基础 —— enum
阅读量:4353 次
发布时间:2019-06-07

本文共 1310 字,大约阅读时间需要 4 分钟。

  • 枚举的遍历:

    enum Suit { CLUB, DIAMOND, HEART, SPADE }Collection
    suitTypes = Arrays.asList(Suit.values());for (Suit suit : suitTypes) { ...}

0. 枚举类的静态成员

比如一个枚举类 Month,通过 Month.values() 便可遍历其成员:

for (Month m : Month.values()) {    ....}

1. 将 enum 视为一种特殊的类

也即可在其中添加成员方法,甚至 main() 方法。一般来说,我们希望每个枚举类型能够返回对自身的描述,而不仅仅是默认的 toString() 实现(只能返回枚举实例的名字)。为此,可以提供一个构造器,专门负责处理这个额外的描述信息。

public enum OzWitch{    WEST("West"), NORTH("North"), SOUTH("South"), EAST("East");        // 这些枚举实例的写法,括号内有字符串,相当于对 OzWitch 构造函数的一种调用;        // 此时必须给出以字符串为参数的构造函数;如下    private String desc;    private OzWitch(String desc) {        this.desc = desc;    }    public String getDesc() { return desc; }    public static void main(String[] args) {        for (OzWitch witch: OzWitch.values()){            System.out.println(witch.getDesc());        }    }}

2. 枚举中的抽象函数

public enum HourlyPayGrade {    APPRENTICE {        public double rate() {            return 1.0;        }    },    LEUTENANT_JOURNEYMAN {        public double rate() {            return 1.2;        }    },    JOURNEYMAN {        public double rate() {            return 1.5;        }    },    MASTER {        public double rate () {            return 2.0;        }    };    public abstract double rate();}

转载于:https://www.cnblogs.com/mtcnn/p/9421197.html

你可能感兴趣的文章
ORA-01652: 无法通过 128 (在表空间 HIS_TABLESPACE_TEMP 中) 扩展 temp 段
查看>>
BIO,NIO与AIO的区别
查看>>
python将不同数据库多张表内容整合到一张表中
查看>>
软件工程第一次作业 - 导航
查看>>
对照实验(1)-批量清理系统临时文件
查看>>
GOF设计模式(02)抽象工厂模式
查看>>
Java NIO 详解(一)
查看>>
人类的奇怪之处
查看>>
eclipse debug (调试) 学习心得
查看>>
有哲理的一段话
查看>>
TCP协议中的三次握手和四次挥手(图解)
查看>>
智能指针 线程变量
查看>>
linux:vi报错“Can’t write viminfo file /root/.viminfo!”
查看>>
PostgreSQL中如何得到一个随机的字符
查看>>
bulk insert 在mssql中使用
查看>>
兼容IE,Firefox,chrome等浏览器 : 设为首页和收藏的Javascript代码
查看>>
控件的局部圆角问题
查看>>
设计师必看的25个优秀的移动界面设计案例
查看>>
Skippr – 轻量、快速的 jQuery 幻灯片插件
查看>>
12款高质量的免费 CSS 网站模板下载
查看>>