本文目錄一覽:
- 1、java枚舉類型
- 2、Java中vector集合枚舉,和枚舉類型enum有什麼區別嗎?
- 3、Java枚舉類型怎麼使用
- 4、如何使用java中的枚舉類
- 5、java什麼是枚舉類型
- 6、怎麼使用java中的枚舉方法
java枚舉類型
枚舉是一種特殊的數據類型,和類(class)是同一個級別,例如定義一個類Test,會有一個源文件Test.java,編譯會有一個位元組碼Test.class,那麼定義一個枚舉類型Myenum,編譯也會產生Myenum.class。
作用:存儲了一系列數據,保證數據的一個有效取值。
通常用到的地方是傳遞介面參數的時候,為了保證能傳遞一個合適的值,而不需要驗證這個值是否合法,那麼介面參數可以設置為枚舉類型,這裡說的介面不是interface,而是只針對開發的不同層之間調用。
Java中vector集合枚舉,和枚舉類型enum有什麼區別嗎?
現在枚舉都是淘汰的東西,不過還是說一下,枚舉不是類,枚舉可以看成是一個集合,比如你代碼中的weekday,現在大部分程序員編程都是用枚舉定義常量,比如下面這段: enum Signal { GREEN, YELLOW, RED } public class TrafficLight { Signal color = Signal.RED; public void change() { switch (color) { case RED: color = Signal.GREEN; break; case YELLOW: color = Signal.RED; break; case GREEN: color = Signal.YELLOW; break; } } } 裡面枚舉就是起定義常量的作用
Java枚舉類型怎麼使用
舉(enum)類型是Java 5新增的特性,它是一種新的類型,允許用常量來表示特定的數據片斷,而且全部都以類型安全的形式來表示。
1、常量的使用
在JDK1.5之前,我們定義常量都是:public static fianl….。現在好了,有了枚舉,可以把相關的常量分組到一個枚舉類型里,而且枚舉提供了比常量更多的方法。
總結:
1、枚舉的本質是類,在沒有枚舉之前,仍然可以按照java最基本的編程手段來解決需要用到枚舉的地方。枚舉屏蔽了枚舉值的類型信息,不像在用public static final定義變數必須指定類型。枚舉是用來構建常量數據結構的模板,這個模板可擴展。枚舉的使用增強了程序的健壯性,比如在引用一個不存在的枚舉值的時候,編譯器會報錯。枚舉的更多用法還需要在開發中去研究創造,Java5、Java6增加了不少新的特性,技術在升級,對程序員來說就要學習,如果你熱愛java的話。否則別人用到新特性的代碼你看不懂,那才叫鬱悶。
2、枚舉在Java家族中只佔了很小的一塊比重,所以我在項目中用枚舉的地方不是很多,畢竟,一個項目是很多人開發維護的,用一個陌生的東西,會給其他的同事造成閱讀困難。所以常量大都是用public static final 來定義的。
如何使用java中的枚舉類
static final通常跟的是一個int類型的常數,所以有時候可以用int型代替枚舉
在有些時候需要輸出這個枚舉量的名字(比如January),上面的方法輸出的是int值,用類的話可以把名字一起輸出
總的來說前者消耗資源比較少,後者更符合枚舉的定義
枚舉的確是一個類,在JDK1.4及以前,沒有enum這個用法,那時候都是使用類來建立的,在《Java編程思想》中介紹了一類寫法(詳見第三版的章節8.1.3群組常量);JDK5以後,enum被引入,本質上就是一個類,所以可以被繼承,總體思路和第三版這個寫法類似,只是換了個名字(《Java編程思想》第四版第19章專門講這個)
補充:我把早期的例子給出吧,你看一下,這就是早期的枚舉的方法:
public final class Month{
private String name;
private Month (String nm){name=nm;}
public String toString(){return name;}
public static final Month
JAN=new Month(“January”),
FEB=new Month(“February”),
MAR=new Month(“March”),
APR=new Month(“April”),
MAY=new Month(“May”),
JUN=new Month(“June”),
JUL=new Month(“July”),
AUG=new Month(“August”),
SEP=new Month(“September”),
OCT=new Month(“October”),
NOV=new Month(“November”),
DEC=new Month(“December”);
public static final Month month[]={
JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC
};
public static final Month number(int ord){
return month[ord-1];
}
//main
public static void main(String args[]){
Month m=Month.JAN;
System.out.println(m);
m=Month.number(12);
System.out.println(m);
System.out.println(m==Month.DEC);
System.out.println(m.equals(Month.DEC));
System.out.println(Month.month[3]);
System.out.println(Month.APR);
}
}
java什麼是枚舉類型
你可以理解為枚舉也是一個類,但是這個類只有在內部聲明的幾個對象,不可新建對象。當你想使用枚舉類的對象的時候,就像使用類的靜態資源一樣就行了。
怎麼使用java中的枚舉方法
怎麼解釋枚舉呢。枚舉的定義就是一個有限值的集合。一個枚舉類型的變數它的值只可能是類型值中的一個。
所以 Drection 是類型名,Drection drection 則是此類型的變數,變數的值應該是類型裡邊所列的值中的一個,如果單寫個 WEST跟本不知道它是什麼,所以要加類名限定 即 Drection.WEST. 於是,對一個枚舉變數賦值的樣子就像這樣。
if(drection==Drection.WEST) return true; String west=”WEST”; drection.toString().equals(west) return true;
原創文章,作者:QNBA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/141581.html