① java枚舉類型enum用法
用法如下:
用法一:常量 在JDK1.5之前,我們定義常量都是:public static fianl....。現在好了,有了枚舉,可以把相關的常量分組到一個枚舉類型里,而且枚舉提供了比常量更多的方法
用法六:使用介面組織枚舉
用法七:關於枚舉集合的使用
② Java中如何調用枚舉類中的數組
values()是枚舉定義的一個靜態方法。
示例代碼:
enum A{
b,a;
}
static final class A extends Enum{
public static A[] values(){
A aa[];
int i;
A aa1[];
System.array(aa = ENUM$VALUES, 0, aa1 = new A[i = aa.length], 0, i);
return aa1;
}
public static A valueOf(String s){
return (A)Enum.valueOf(com/taobao/et/biz/Test$A, s);
}
public static final A b;
public static final A a;
private static final A ENUM$VALUES[];
static {
b = new A("b", 0);
a = new A("a", 1);
ENUM$VALUES = (new A[] {
b, a
});
}
private A(String s, int i) {
super(s, i);
}
}
兩個靜態方法「隱藏」在所有枚舉類型聲明中。因為它們是枚舉子類上的靜態方法,而不是Enum本身的方法,所以它們在java.lang.Enum的javadoc中沒有出現。
第一個是values(),返回一個枚舉類型所有可能值的數組。
第二個是valueOf(String arg0),為提供的字元串返回一個枚舉類型,該枚舉類型必須精確地匹配源代碼聲明。
③ java枚舉型的值都是字元串嗎
可以是整型,順便給你我總結的枚舉。
1.枚舉對象裡面的值都必須是唯一的,enum 中不能刪除添加元素。
2.元素是公有靜態的public static,構造方法只能為private。
2.可以通過 Enum 類名直接引用該常量,如Unit.u1
3.允許程序員為eunm 實例編寫方法,如果打算自定義自己的方法,那麼必須在enum實例序列的最後添加一個分號。而且 Java 要求必須先定義 enum 實例,否則編譯器會報錯。
4.可以創建一個enum 類,把它看做一個普通的類(可以有抽象方法)。可以添加其他方法,覆蓋它本身的方法。
5.values() 方法是編譯器插入到enum 定義中的static 方法,所以,當你將enum 實例向上轉型為父類Enum 是,values() 就不可訪問了。
6.所有enum都繼承java.lang.Enum類。
7.所有枚舉類都提供一個靜態的values()方法(返回該枚舉類所有對象組成的數組),便於遍歷所有枚舉對象。
for (Unit u: Unit.values()) {
System.out.println(u); }
④ Java枚舉類型怎麼使用
舉(enum)類型是Java 5新增的特性,它是一種新的類型,允許用常量來表示特定的數據片斷,而且全部都以類型安全的形式來表示。
1、常量的使用
在JDK1.5之前,我們定義常量都是:public static fianl....。現在好了,有了枚舉,可以把相關的常量分組到一個枚舉類型里,而且枚舉提供了比常量更多的方法。
總結:
1、枚舉的本質是類,在沒有枚舉之前,仍然可以按照java最基本的編程手段來解決需要用到枚舉的地方。枚舉屏蔽了枚舉值的類型信息,不像在用public static final定義變數必須指定類型。枚舉是用來構建常量數據結構的模板,這個模板可擴展。枚舉的使用增強了程序的健壯性,比如在引用一個不存在的枚舉值的時候,編譯器會報錯。枚舉的更多用法還需要在開發中去研究創造,Java5、Java6增加了不少新的特性,技術在升級,對程序員來說就要學習,如果你熱愛java的話。否則別人用到新特性的代碼你看不懂,那才叫郁悶。
2、枚舉在Java家族中只佔了很小的一塊比重,所以我在項目中用枚舉的地方不是很多,畢竟,一個項目是很多人開發維護的,用一個陌生的東西,會給其他的同事造成閱讀困難。所以常量大都是用public static final 來定義的。
⑤ 請問java枚舉類型的枚舉值是不是繼承枚舉類的一個對象啊
確切的說java里有枚舉類型enum,只可以用在類靜態或者成員變數中,不可作為局部變數。
實際上這樣聲明的枚舉類型是集繼承於java.lang.Enum類的,但是我們不能直接繼承枚舉類,只能通過這種方法創建枚舉對象。
示例
class Test {
private static enum test {
ffffff, blue, green
}
public static void main(String[] args) {
System.out.println(test.ffffff);
}
}
⑥ 枚舉和類的異同
枚舉是java 5新增了一個menu關鍵字(它與class、interface關鍵字的地位相同),用於定義枚舉,枚舉是一種特殊的類,它一樣有自己的Fileld、方法,可以實現一個或多個介面,也可以定義自己的構造器。一個java源文件中襲拿螞最多隻能定義一個public訪問許可權的枚舉類,且該java源文件也必須和枚舉類的類名相同。但枚舉畢竟不是普通的java類,它與普通類有如下簡單的區別:
1、枚舉類可以實現一個活多個介面,使用menu定義的枚舉直接繼承了java.long.Enum類,而不是繼承Object類。其中java.long.Enum類實現了java.long.Serializable和java.long.Comparable兩個介面。
2、使用enum定義、非抽拍埋象的枚舉默認修飾符為final,因此枚舉不能派生子類。
3、枚舉敏悔的構造器只能使用private訪問控制符,如果省略了枚舉的訪問修飾符其默認為private修飾;如果加強制定訪問修飾符則只能使用private。
4、枚舉的所有實例必須在枚舉的第一行顯示列出,否則這個枚舉永遠都不能生產實例,列出這些實例時系統會自動添加public static final修飾,無需程序員顯式添加
5、所有的枚舉類都提供了一個values方法,該方法可以很方便的遍歷所有的枚舉值