1. 程式人生 > >java enum(列舉)使用詳解

java enum(列舉)使用詳解

說來慚愧,一直沒有怎麼使用過列舉,只知道可以定義日期中的星期幾,沒有用到也就沒有學習,現在還是覺得應該認真瞭解下,在可以用到的時候也會發現原來列舉也可以解決這個問題。廢話不多說了,詳細在下面:

原始的介面定義常量

public interface IConstants { String MON = "Mon"; String TUE = "Tue"; String WED = "Wed"; String THU = "Thu"; String FRI = "Fri"; String SAT =
"Sat"; String SUN = "Sun"; }

語法(定義)

    建立列舉型別要使用 enum 關鍵字,隱含了所建立的型別都是 java.lang.Enum 類的子類(java.lang.Enum 是一個抽象類)。列舉型別符合通用模式 Class Enum<E extends Enum<E>>,而 E 表示列舉型別的名稱。列舉型別的每一個值都將對映到 protected Enum(String name, int ordinal) 建構函式中,在這裡,每個值的名稱都被轉換成一個字串,並且序數設定表示了此設定被建立的順序。

package com.hmw.test; /** * 列舉測試類 * @author <a href="mailto:[email protected]">何明旺</a> */ public enum EnumTest { MON, TUE, WED, THU, FRI, SAT, SUN; }

這段程式碼實際上呼叫了7次 Enum(String name, int ordinal):

new Enum<EnumTest>(
"MON",0); new Enum<EnumTest>("TUE",1); new Enum<EnumTest>("WED",2); ... ...

遍歷、switch 等常用操作

對enum進行遍歷和switch的操作示例程式碼:

public class Test { public static void main(String[] args) { for (EnumTest e : EnumTest.values()) { System.out.println(e.toString());

相關推薦

Enum列舉和EnumSet、EnumMap使用

一、Enum列舉 public enum Day { MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY; } 一個簡單的測試類: public class TestEnum {

java enum(列舉)使用

說來慚愧,一直沒有怎麼使用過列舉,只知道可以定義日期中的星期幾,沒有用到也就沒有學習,現在還是覺得應該認真瞭解下,在可以用到的時候也會發現原來列舉也可以解決這個問題。廢話不多說了,詳細在下面: 原始的介面定義常量 public 

java enum(列舉)使用 + 總結

enum 的全稱為 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。下面是我在使用 enum 過程中的一些經驗和總結。原始的介面定義常量public interface IConstants { Stri

Java 列舉enum 使用

在實際程式設計中,往往存在著這樣的“資料集”,它們的數值在程式中是穩定的,而且“資料集”中的元素是有限的。 例如星期一到星期日七個資料元素組成了一週的“資料集”,春夏秋冬四個資料元素組成了四季的“資料集”。 在java中如何更好的使用這些“資料集”呢?因此列舉便派上了用場,

高階Java列舉型別enum使用

java的Enum列舉型別終於在j2se1.5出現了。之前覺得它只不過是雞肋而已,可有可無。畢竟這麼多年來,沒有它,大家不都過得很好嗎?今 日看《Thinking in Java》4th edition,裡面有一句話“有時恰恰因為它,你才能夠"優雅而乾淨"地解決問題。優雅

java enum(列舉)使用和總結(轉)

enum 的全稱為 enumeration, 是 JDK 1.5  中引入的新特性,存放在 java.lang 包中。     下面是我在使用 enum 過程中的一些經驗和總結,主要包括如下內容: 1. 原始的介面定義常量 2. 語法(定義) 3. 遍歷、switch 等常用

100.【JAVA程式設計】列舉

列舉:是有界集合體 public class EnumDemo { enum SexEnum { MAN, WOMAN } public static void main(String[] args){ for(Se

java 列舉

1. 概述 列舉(enum)全寫為的全稱為:enumeration。是jdk1.5才新引進的概念,在Java中enum的有與C、C++相似的基本用法,也有很多擴充套件的用法。 儘管列舉型別看著像一種新的資料型別,但實際上它是一種受限制的類(繼承自java.lang.E

Java學習系列(二十二)Java面向物件之列舉

一、前言  今天我們來講講列舉,希望通過這篇部落格大家能對列舉有個更全面的瞭解。列舉是一種例項(大寫)數固定的類(不能再建立例項),列舉改變了常量的宣告方式,而且它在編譯期間就限定了型別。列舉多用於確定的狀態數(如:滑鼠上下左右、IM訊息已讀未讀)、型別數(如:系統

java.util包(二)——Connection接口

操作 相同 元素 叠代 cat roo soft true nbsp Connection接口介紹   Connection接口是java集合的root接口,沒有實現類,只有子接口和實現子接口的各種容器。主要用來表示java集合這一大的抽象概念。   Connection接

java對象

add splay view created 元素 繼承關系 外部 優化 csdn java對象詳解 內存布局 普通對象布局 數組的內存布局 內部類的內存布局 對象分解 對象頭-mark word(8字節) 實例數據 對齊填充(可選) java鎖分析

Java泛型

對象數組 整形 泛型方法 tty 接受 一個 div -m color 泛型的本質是參數化類型,也就是說所操作的數據類型被指定為一個參數。 假定我們有這樣一個需求:寫一個排序方法,能夠對整形數組、字符串數組甚至其他任何類型的數組進行排序,該如何實現? 答案是可以使用 Ja

Java常量池

回收 array 數值 編譯期 二進制格式 new 保持 占用 get 轉自:http://www.cnblogs.com/iyangyuan/p/4631696.html jvm虛擬內存分布圖: 程序計數器:JVM執行程序的流水線。 本地方法棧:JVM調用操作系統方法所

Java線程(一)

線程 thread runnable 程序、進程、線程的概念 程序(program):是為完成特定任務、用某種語言編寫的一組指令的集合。即指一段靜態的代碼,靜態對象。 進程(process):是程序的一次執行過程,或是正在運行的一個程序。動態過程:有它自身的產生、存在和消亡的過程。 如

Java反射機制

java 反射 反射機制 工廠模式 1反射機制是什麽反射機制是在運行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調用對象的方法的功能稱為java語言的反射機制。在面向對象的世界裏,萬事萬物皆對象.在ja

JAVA環境配置

指向 微軟 ssp cep 解釋 引入 bin testcase loader 步驟:一下載安裝JDK(註意版本)二配置環境變量 JAVA_HOME:JDK的安裝路徑 CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\too

Java反射機制

ride length 數組大小 conf array arraycopy 動態調用 ray info Java反射機制詳解 |目錄 1反射機制是什麽 2反射機制能做什麽 3反射機制的相關API ·通過一個對象獲得完整的包名和類名 ·實例化Class類對象 ·獲

java虛擬機

image 種類 棧的操作 cms gc float align pool 不定 記錄 註: 此篇文章可以算是讀《深入理解Java虛擬機:JVM高級特性與最佳實踐》一書後的筆記總結加上我個人的心得看法。 整體總結順序沿用了書中順序,但多處章節用自己的話或直白或擴展的進行

java 常量池

例如 ava color str blog 註意 如果 .cn 運行 參考資料:http://www.cnblogs.com/holos/p/6603379.html 註意: 1.首先,我們平時在討論字符串新建問題時所說的常量池其實指的是全局字符串常量池。並不是運行時常量池

Java虛擬機——JVM常見問題總結

can 語言 嘗試 意思 是把 fff rom com serial 【正文】 聲明:本文只是做一個總結,有關jvm的詳細知識可以參考之前的系列文章,尤其是那篇:Java虛擬機詳解04—-GC算法和種類。那篇文章和本文是面試時的重點。 面試必問關鍵詞:JVM垃圾回收、類加載