❶ java枚舉類型怎麼使用
舉(enum)類型是Java 5新增的特性,它是一種新的類型,允許用常量來表示特定的數據片斷,而且全部都以類型安全的形式來表示。
1、常量的使用
在JDK1.5之前,我們定義常量都是:public static fianl....。現在好了,有了枚舉,可以把相關的常量分組到一個枚舉類型里,而且枚舉提供了比常量更多的方法。
總結:
1、枚舉的本質是類,在沒有枚舉之前,仍然可以按照java最基本的編程手段來解決需要用到枚舉的地方。枚舉屏蔽了枚舉值的類型信息,不像在用public static final定義變數必須指定類型。枚舉是用來構建常量數據結構的模板,這個模板可擴展。枚舉的使用增強了程序的健壯性,比如在引用一個不存在的枚舉值的時候,編譯器會報錯。枚舉的更多用法還需要在開發中去研究創造,Java5、Java6增加了不少新的特性,技術在升級,對程序員來說就要學習,如果你熱愛java的話。否則別人用到新特性的代碼你看不懂,那才叫郁悶。
2、枚舉在Java家族中只佔了很小的一塊比重,所以我在項目中用枚舉的地方不是很多,畢竟,一個項目是很多人開發維護的,用一個陌生的東西,會給其他的同事造成閱讀困難。所以常量大都是用public static final 來定義的。
❷ java枚舉類型enum用法
用法如下:
用法一:常量 在JDK1.5之前,我們定義常量都是:public static fianl....。現在好了,有了枚舉,可以把相關的常量分組到一個枚舉類型里,而且枚舉提供了比常量更多的方法
用法六:使用介面組織枚舉
用法七:關於枚舉集合的使用
❸ java中如何判斷一個變數是否屬於某個枚舉類型中的元素
介面 Enumeration的兩個函數 boolean hasMoreElements()測試此枚舉是否包含更多的元素。 nextElement()如果此枚舉對象至少還有一個可提供的元素,則返回此枚舉的下一個元素。 利用這兩個函數,利用while循環就可以讀取裡面的元素,當然讀取出來得元素通過強制轉換,就可以和變數進行比較 。
❹ java中枚舉是什麼意思
Java中的枚舉是一種特殊的數據類型,它用於表示固定數量的常量集合。在枚舉中,每個常量都是一個枚舉值,這些值在枚舉中被預先定義,並且是不可改變的。枚舉類型可以用來代替常量,這樣可以提高代碼的可讀性和可維護性。
在使用Java枚舉時,可以使用switch-case語句來進行處理。這樣可以提供更好的代碼實現。並且,Java的枚舉可以附加方法和屬性,比如枚舉值的解釋描述等等,這些方法和屬性可以在枚舉內部進行定義。
Java中的枚舉可以在類內部定義,也可以在單獨的文件中進行定義。在定義枚舉時,需要按照枚舉常量的順序進行定義。枚舉中的常量有默認的枚舉名,在不需要使用其他名字時,可以直接使用默認枚舉名,而無需重復定義。此外,Java編譯器會自動為枚舉類型實現toString()和valueOf()方法,這樣可以方便地將枚舉類型轉換為字元串和將字元串轉換為枚舉類型。
❺ java怎麼聲明枚舉類型
這里我的一點小筆記你看看吧:看不明白就找找相關書籍.
※枚舉(enum):
1.Java 5 新增,是類類型,但不能使用new
不能繼承其他類,也不能作為超類,即不能擴展.但隱式繼承自java.lang.Enum類,可以實現介面.
2.枚舉包括兩個預定義方法:
public static enum-type[] values();
public static enum-type valueOf(String st); 用於for-each循環遍歷枚舉常量.
且可以用」==」來判斷兩個枚舉常量是否相等.
從Enum繼承而來三個方法:
final int ordinal() ----返回常量順序值
final int compareTo(enum-Type e) -----同一枚舉中比較順序值
final Boolean equals(enum-type e) -----同一枚舉中是否相等,相當於」==」
3.在switch表達示中case語句不需也不能加入枚舉的類型,否則會出錯.
4.枚舉是類類型,可以定義構造函數,且可以重載,同樣也可定義其他的實例方法和變數,這些每一個枚舉常量都有自己的一個副本.甚至可以定義靜態的成員.可以實現介面.
如:public enum Answer implements DoAnswer{
Perfect(10),Good(8),Common(5),Bad(2),Terrible;//枚舉常量,相當於public static Answer類型
public static int type=1; //定義一個靜態成員
private int degree; //定義一個實例成員變數
private Answer(){ //定義一個不帶參數的構造函數,注只能為private的,默認也一樣
degree=-1;
}
private Answer(int d){ //定義一個帶參數的重載構造函數
degree=d;
}
public String getProblem(){ //實現介面方法
return DoAnswer.PROBLEM;
}
public int getDegree(){ //定義一個實例成員函數
return degree;
}
public Answer getAnswer(){ //定義一個返回自身的成員函數,每一個常量都有自己的副本
return this;
}
}