在JDK版本5之後,Java引入了枚舉。它是使用關鍵字'enum'定義的一組常數。在Java中,final變數與枚舉有些相似。
在本文中,我們將建立一個Java程序,在其中定義一個枚舉類,並嘗試使用valueOf()和values()方法存取枚舉中定義的所有常數。
當我們需要定義一組固定的常數時,我們使用枚舉類別。例如,如果我們想使用一週的天數、行星的名稱、五個母音字母的名稱等。請注意,所有常數的名稱都以大寫字母聲明。
儘管在Java中,枚舉是一種類別類型,但我們不能實例化它。在枚舉中定義的每個常數都是其枚舉類型的實例。它提供了類似類別的其他功能,例如我們可以創建它的實例變數、方法和建構子。
Enum enumeration_name { // constants values }
enum Planet { EARTH, MARS, JUPYTER, NEPTUNE, SATURN, URANUS, VENUS; }
上面的範例說明了我們如何建立一個枚舉類別。枚舉的名稱是Planet,變數EARTH和MARS是它的常數。預設情況下,它們被聲明為public和static。這些常數是自身型別的,因為它們的型別由它們所在的枚舉定義。在這種情況下,它們的類型是Planet。
valueOf() 和 values() 是兩個預先定義方法,它們將幫助我們取得清單中定義的常數的值。
valueOf() − 它傳回作為參數傳遞的常數的值。
values() − 它傳回一個包含枚舉類別中所有常數的陣列。
以下範例示範如何使用valueOf()方法取得常數 &minuns;
enum Vibgyor { // creating enumeration VIOLET, INDIGO, BLUE, GREEN, YELLOW, ORANGE, RED; // constants } public class Main { public static void main(String[] args) { System.out.println("The color present in VIBGYOR: "); Vibgyor color = Vibgyor.ORANGE; System.out.println(color + " is present at index: " + color.ordinal()); Vibgyor colr = Vibgyor.valueOf("INDIGO"); System.out.println(colr); System.out.print(Vibgyor.valueOf("RED")); } }
The color present in VIBGYOR: ORANGE is present at index: 5 INDIGO RED
在上面的程式中,我們建立了一個名為‘Vibgyor’的枚舉類型,並定義了一些常數。變數‘color’和‘colr’是類型為Vibgyor的枚舉變數。我們使用這些變數來取得常數。使用valueOf()方法可以逐一取得枚舉項。 ordinal()方法用於存取ORANGE的索引值。索引從0開始。我們也可以在不創建任何變數的情況下存取常數。
以下範例示範如何使用values()方法取得常數:
enum Vibgyor { VIOLET, INDIGO, BLUE, GREEN, YELLOW, ORANGE, RED; } public class Main { public static void main(String[] args) { System.out.println("The color present in VIBGYOR: "); // for each loop to iterate through all constants for(Vibgyor color : Vibgyor.values()) { System.out.println(color); } } }
The color present in VIBGYOR: VIOLET INDIGO BLUE GREEN YELLOW ORANGE RED
In the above program, we have accessed all the constants with a single for each loop. values() method can access multiple values at a time.
在本文中,我們討論了enum及其方法。我們建立了一個Java程序,以了解如何使用values()和valueOf()方法存取enum中定義的所有常數。
以上是Java程式存取枚舉中定義的所有常數的詳細內容。更多資訊請關注PHP中文網其他相關文章!