java 枚舉類型 enum

來源:互聯網
上載者:User

標籤:log   pre   執行個體   組合   port   自己   dem   解決   並且   

  在java SE5中添加了枚舉類型,即enum關鍵字。在這之前,當你需要建立一個整形常量集時,但是這些枚舉值並不會必然的將其自身的取值限制在這個常量集的範圍之內,因此這樣做的顯得不安全,也不方便使用。現在有了enum,就解決了上述的問題。

  雖然enum看起來像一張新的資料類型,事實上enum是一個類,並且也有自己的方法(toString()  ordinal()  static values())。在使用的時候我們可以把enum當作一種建立資料類型的方式。

  枚舉類型的執行個體是常量,因此都用大寫字母表示。

1、先建立一個枚舉類型

 1 package enumDemo; 2 /** 3  * 建立enum類型 4  * @author dyf 5  * 6  */ 7 public class Enum { 8     public enum test{ 9         NOT,10         MILD,11         MEDIUM,12         HOT,13         FLAMING;14     }15 }

2、測試enum自己的方法(toString()  ordinal()  static values()),

 1 package enumDemo; 2 /** 3  * 測試enum自己的方法toString()  ordinal()  static values() 4  */ 5 import enumDemo.Enum.test; 6  7 public class TestEnum { 8     public static void main(String[] args) { 9         //-----------------------------------------------10         /**11          * 枚舉類的使用12          */13         test e = test.MEDIUM;14         System.out.println(e);15         //-----------------------------------------------16         17         /**18          * 建立enum時,編譯器會自動添加一些有用的特性。如19          * toString 方法,顯示enum執行個體的名字20          * ordinal() static values()方法,表示某個特定enum常量的聲明順序21          */22         for (test t : test.values()) {23             System.out.println(t + "---ordinal---" + t.ordinal());24         }25         26         //-----------------------------------------------27         28     }29 }

列印結果:

MEDIUM
NOT---ordinal---0
MILD---ordinal---1
MEDIUM---ordinal---2
HOT---ordinal---3
FLAMING---ordinal---4

 

3、enum和switch結合使用,由於switch是要在有限的可能值集合中進行選擇,因此與enum正式絕佳的組合。

 1 package enumDemo; 2 /** 3  * enum與switch結合使用 4  */ 5 import enumDemo.Enum.test; 6  7 public class TestEnumAndSwitch { 8     test t; 9     public TestEnumAndSwitch(test t){10         this.t = t;11     }12     13     public void describe(){14         System.out.println("This TestEnumAndSwitch is ");15         switch(t){16         case NOT: System.out.println("not spicy at all");17             break;18         case MILD: System.out.println("=========1");19         case MEDIUM: System.out.println("a little hot");20             break;21         case HOT: System.out.println("=========2");22         case FLAMING: System.out.println("=========3");23         default: System.out.println("maybe too hot");24         }25     }26     27     public static void main(String[] args) {28         TestEnumAndSwitch 29             t1 = new TestEnumAndSwitch(test.NOT),30             t2 = new TestEnumAndSwitch(test.MEDIUM),31             t3 = new TestEnumAndSwitch(test.HOT);32         t1.describe();33         t2.describe();34         t3.describe();35     }36 }

列印結果:

This TestEnumAndSwitch is
not spicy at all
This TestEnumAndSwitch is
a little hot
This TestEnumAndSwitch is
=========2
=========3
maybe too hot

java 枚舉類型 enum

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.