博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java enum用法
阅读量:6801 次
发布时间:2019-06-26

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

  1. 基本用法

    enum Day {    SUNDAY, MONDAY, TUESDAY, WENDSDAY, THURSDAY, FRIDAY, SATURDAY;}

    枚举是常量,所以应该用大写。

  2. 枚举是对象

    枚举隐含地继承了java.lang.Enum,所以它具有java.lang.Enum的属性和方法。遍历枚举:

    public class Main {    public static void main(String[] args) {        for(Day day:Day.values()) {            System.out.println(day);        }    }}
  3. 枚举可以带字段和方法,以下示例来自官方The Java™ Tutorials

    public enum EnumDemo {    AOBJECT("field one", "field two");    private String field1;    private String field2;    EnumDemo(String val1, String val2){        this.field1 = val1;        this.field2 = val2;    }    public void printFields(){        System.out.println(this.field1);        System.out.println(this.field2);    }    public static void main(String[] args) {        EnumDemo.AOBJECT.printFields();    }}

    以下现实中的示例来自官方的Java Tutorial:

    public enum Planet {    MERCURY (3.303e+23, 2.4397e6),    VENUS   (4.869e+24, 6.0518e6),    EARTH   (5.976e+24, 6.37814e6),    MARS    (6.421e+23, 3.3972e6),    JUPITER (1.9e+27,   7.1492e7),    SATURN  (5.688e+26, 6.0268e7),    URANUS  (8.686e+25, 2.5559e7),    NEPTUNE (1.024e+26, 2.4746e7);    private final double mass;   // in kilograms    private final double radius; // in meters    Planet(double mass, double radius) {        this.mass = mass;        this.radius = radius;    }    private double mass() { return mass; }    private double radius() { return radius; }    // universal gravitational constant  (m3 kg-1 s-2)    public static final double G = 6.67300E-11;    double surfaceGravity() {        return G * mass / (radius * radius);    }    double surfaceWeight(double otherMass) {        return otherMass * surfaceGravity();    }    public static void main(String[] args) {        Double earthWeight = 120;        for(Planet p: Planet.values()){            System.out.println(p.surfaceGravity());            System.out.println(p.surfaceWeight(earthWeight/EARTH.surfaceGravity()));        }    }}
  4. 枚举是singleton,可以用枚举来构建一个Singleton

    public enum Singleton {    INSTANCE(new String[]{"arg1", "arg2"});    String[] myArgs;    Singleton(String[] args){        this.myArgs = args;    }    public static Singleton getInstance(){        return INSTANCE;    }    public static void main(String[] args) {        for(String arg : INSTANCE.myArgs)            System.out.println(arg);    }}
posted on
2014-11-21 02:26 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/goodwin/p/4111912.html

你可能感兴趣的文章
2016-7-5
查看>>
2016-12-26 (遇到的问题)
查看>>
网络编程---发送http请求
查看>>
nginx配置文件语法高亮
查看>>
JS获取CSS属性值
查看>>
Crimm Imageshop 2.3。
查看>>
java算法 第七届 蓝桥杯B组(题+答案) 4.分小组
查看>>
C#获取硬件信息
查看>>
Fork/Join 框架-设计与实现(翻译自论文《A Java Fork/Join Framework》原作者 Doug Lea)...
查看>>
一步一步配置 Dell OME 监控 Dell 服务器硬件报警
查看>>
[matlab] 18.图与网络 (转载)
查看>>
小初高试卷生成程序—代码优缺点
查看>>
Android中给TextView设置粗体和下划线
查看>>
获取网页内容区域各种高/宽汇总
查看>>
DS博客作业01—日期抽象数据类型设计与实现
查看>>
【BFS】HDU1429 - 胜利大逃亡(续)
查看>>
linux下mysql忘记root密码的解决方案
查看>>
世界历史教科书-九年级上册.pdf
查看>>
LDAP Authentication for openNebula3.2
查看>>
SRS服务器搭建,ffmpeg 本地推流,srs从本地拉流
查看>>