zoukankan      html  css  js  c++  java
  • 枚举类 Enum 之初认识

     1 import java.util.*;
     2 public class Demo13{
     3     public static void main(String[] args) {
     4         Weekday day = Weekday.SUN;
     5         //int day = 1;
     6         if(day.dayValue == 1 || day.dayValue == 7){
     7             System.out.println("Work at home!");
     8         }else{
     9             System.out.println("Work at office!");
    10         }
    11         //因为enum是一个class,每个枚举的值都是class实例
    12         //返回常量名
    13         String s = day.name();
    14         //返回定义的常量的顺序,从0开始计数
    15         int n = day.ordinal();
    16         System.out.println(s);  // SUN
    17         System.out.println(n);  // 0
    18     }
    19 }
    20 
    21 /*
    22 通过enum定义的枚举类,和其他的class有什么区别?
    23 
    24 1.定义的enum类型总是继承自java.lang.Enum,且无法被继承;
    25 
    26 2.只能定义出enum的实例,而无法通过new操作符创建enum的实例;
    27 
    28 3.定义的每个实例都是引用类型的唯一实例;
    29         使用enum定义的枚举类是一种引用类型。前面我们讲到,引用类型比较,要使用equals()方法,如果使用==比较,它比较的是两个引用类型的变量是否是同一个对象。因此,引用类型比较,要始终使用equals()方法,但enum类型可以例外
    30         
    31         因为enum类型的每个常量在JVM中只有一个唯一实例,所以可以直接用==比较
    32         
    33     if (day == Weekday.FRI) { // ok!
    34     }
    35     if (day.equals(Weekday.SUN)) { // ok, but more code!
    36     }
    37 
    38 4.可以将enum类型用于switch语句
    39 */
    40 enum Weekday{
    41     //定义的每个枚举常量都是枚举类的实例
    42     SUN(1),MON(2),TUE(3),WED(4),THU(5),FRI(6),SAT(7);
    43     
    44     //给每个枚举常量添加字段 字段强烈建议声明为final
    45     public final int dayValue;
    46     
    47     //enum的构造方法要声明为private 私有
    48     private Weekday(int dayValue){
    49         this.dayValue = dayValue;
    50     }
    51 }
  • 相关阅读:
    css3
    js的去重
    mongodb的db.collection is not function
    mongoose的关联查询 :populate
    html/css杂题
    经典的Foo和getName
    AngularJS控制器
    AJAX请求小项目
    AngularJS 依赖注入
    Canvas画布实现自定义时钟效果
  • 原文地址:https://www.cnblogs.com/zui-ai-java/p/14194609.html
Copyright © 2011-2022 走看看