zoukankan      html  css  js  c++  java
  • enum枚举类型

    enum枚举类型

    1、 简单的例子:

    public enum  Dana {
        A,B,C,D
    }
    //在这里创建了一个名为Dana的枚举类型,它有四个具名值,由于枚举类型的实例是常量,因此按照命名惯例它们都用大写字母表示(有多个单词则用下划线连接)
    	public static void main(String[] args) {
    		Dana dana = Dana.A;
    		System.out.println(dana);
    	}
    }
    

    在创建enum时,编译器会自动添加一些有用的特性,比如,

      它会创toString()方法,以便你可以很方便地显示某个enum实例的名字,上面打印出来的效果也是这个原理;
      编译器还会创建ordinal()方法,用来表示某个特定enum常量的声明顺序;
     以及static values()方法,用来在按照enum常量的声明顺序.产生由这些常量值构成的数组:

    	public class EnumOrder {
    	 public static void main(String[] args) {
    
    	  for (Dana dana : Dana.values()) {
    	   System.out.println(dana + ",ordinal " + dana.ordinal());
    	  }
    	 }
    	}
    

    2、 枚举在switch中的使用

    switch 中的值类型只能为:byte ,short,char,int,String(在jdk1.7后也支持了),enum类型。

    package enumDemo;
    import enumDemo.Enum.test;
    
    public class TestEnumAndSwitch {
    
        test t;
    
        public TestEnumAndSwitch(test t){
            this.t = t;
        }
    
        public void describe(){
            System.out.println("This TestEnumAndSwitch is ");
            switch(t){
            case NOT: System.out.println("not spicy at all");
                break;
            case MILD: System.out.println("=========1");
            case MEDIUM: System.out.println("a little hot");
                break;
            case HOT: System.out.println("=========2");
            case FLAMING: System.out.println("=========3");
            default: System.out.println("maybe too hot");
            }
        }
    
        public static void main(String[] args) {
            TestEnumAndSwitch 
                t1 = new TestEnumAndSwitch(test.NOT),
                t2 = new TestEnumAndSwitch(test.MEDIUM),
                t3 = new TestEnumAndSwitch(test.HOT);
            t1.describe();
            t2.describe();
            t3.describe();
        }
    }
    
  • 相关阅读:
    滑雪(dp好题)
    田忌赛马
    反质数(Antiprimes)
    LCA-倍增法(在线)
    二模 (2) day2
    Spring Integration
    [转载] Spring MVC
    收藏夹
    Linux profile File
    git merge 与 rebase 的区别
  • 原文地址:https://www.cnblogs.com/0427mybirthday/p/7668932.html
Copyright © 2011-2022 走看看