本文目錄一覽:
java自定義httpstatus枚舉值
由於每個程序員在開始編程時一般會首先學習C/C++,然後再學習Java,在C++中枚舉是可以定義枚舉值為特定的整數的,但這在Java中卻沒有得到支持,大概C/C++中的枚舉代表了數值型常量多一些,而Java中枚舉值,更確切的說為枚舉類型對象。在Java中定義一個簡單的枚舉類如下所示。
java怎麼定義枚舉
在Java中,枚舉(enum)與類(class)、接口(interface)屬於同一個級別。
使用枚舉的Java程序:
public class Main {
public static void main(String[] args) {
Week w = Week.Monday;
System.out.println(w);
}
}
//定義枚舉
enum Week {
Sunday,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday
}
運行測試:
Monday
java枚舉類怎麼寫
枚舉(enum)類型是Java 5新增的特性,它是一種新的類型,允許用常量來表示特定的數據片斷,而且全部都以類型安全的形式來表示。
1、常量的使用
在JDK1.5之前,我們定義常量都是:public static fianl….。現在好了,有了枚舉,可以把相關的常量分組到一個枚舉類型里,而且枚舉提供了比常量更多的方法。
1234567
package com; public enum Color { RED, GREEN, BLANK, YELLOW }
使用
123456789101112131415161718192021
package com; public class B { public static void main(String[] args) { System.out.println( isRed( Color.BLANK ) ) ; //結果: false System.out.println( isRed( Color.RED ) ) ; //結果: true } static boolean isRed( Color color ){ if ( Color.RED.equals( color )) { return true ; } return false ; } }
或者 switch 的使用
12345678910111213141516171819202122232425
package com; public class B { public static void main(String[] args) { showColor( Color.RED ); } static void showColor(Color color){ switch ( color ) { case BLANK: System.out.println( color ); break; case RED : System.out.println( color ); break; default: System.out.println( color ); break; } }}
2、自定義函數
package com; public enum Color { RED(“紅色”, 1), GREEN(“綠色”, 2), BLANK(“白色”, 3), YELLO(“黃色”, 4); private String name ; private int index ; private Color( String name , int index ){ this.name = name ; this.index = index ; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } }
使用
package com; public class B { public static void main(String[] args) { //輸出某一枚舉的值 System.out.println( Color.RED.getName() ); System.out.println( Color.RED.getIndex() ); //遍歷所有的枚舉 for( Color color : Color.values()){ System.out.println( color + ” name: ” + color.getName() + ” index: ” + color.getIndex() ); } } }
結果
紅色
1
RED name: 紅色 index: 1
GREEN name: 綠色 index: 2
BLANK name: 白色 index: 3
YELLO name: 黃色 index: 4
總結:
1、枚舉的本質是類,在沒有枚舉之前,仍然可以按照java最基本的編程手段來解決需要用到枚舉的地方。枚舉屏蔽了枚舉值的類型信息,不像在用public static final定義變量必須指定類型。枚舉是用來構建常量數據結構的模板,這個模板可擴展。枚舉的使用增強了程序的健壯性,比如在引用一個不存在的枚舉值的時候,編譯器會報錯。枚舉的更多用法還需要在開發中去研究創造,Java5、Java6增加了不少新的特性,技術在升級,對程序員來說就要學習,如果你熱愛java的話。否則別人用到新特性的代碼你看不懂,那才叫鬱悶。
2、枚舉在Java家族中只佔了很小的一塊比重,所以我在項目中用枚舉的地方不是很多,畢竟,一個項目是很多人開發維護的,用一個陌生的東西,會給其他的同事造成閱讀困難。所以常量大都是用public static final 來定義的。
Java:這裡的枚舉常量是如何定義的呢?
枚舉(從JDK1.5開始有)
用於代表”實例已經固定“的類,而且定義時就必須在【第一行】創建初始化並列出來。
語法格式:
修飾符 enum 枚舉名{
//立即在第一行列出該枚舉的所有實例。
}
—— 修飾符 可以是 public | 省略 | abstract | final。 abstract與final必須出現其中一個。
—— 枚舉的構造器只能用private修飾。
—— 枚舉類的實例必須在第一行顯式的列出。
所有的枚舉都有一個values()方法,返回枚舉實例
switch(byte|short|char|int|String|枚舉)
●有了枚舉之後,它的實例已經創建出來了,只需要用它們就行了。
●枚舉可以有Field,方法,構造器(只能是private修飾),初始化塊,內部類。
列出枚舉值,並不是簡單的定義幾個枚舉值的變量名。
而是調用枚舉類的構造器來創建相應的實例。
定義枚舉的方法時要非常小心,
●包含抽象方法的枚舉類
●枚舉可以實現接口。
A。實現接口,並直接實現所有的抽象方法。
此時枚舉類不再是抽象枚舉了。
B。實現接口,但並不直接實現抽象方法。
此時枚舉類就只能是抽象枚舉類。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/249038.html