當前位置:首頁 » 編程語言 » java枚舉的使用

java枚舉的使用

發布時間: 2022-07-30 00:31:22

A. java枚舉如何運用

看了第一個回答的代碼,理解了下,感覺枚舉也就是類,在類裡面實例化了自己

B. 怎麼使用java中的枚舉方法

怎麼解釋枚舉呢。枚舉的定義就是一個有限值的集合。一個枚舉類型的變數它的值只可能是類型值中的一個。
所以Drection 是類型名,Drection drection 則是此類型的變數,變數的值應該是類型里邊所列的值中的一個,如果單寫個WEST跟本不知道它是什麼,所以要加類名限定即Drection.WEST. 於是,對一個枚舉變數賦值的樣子就像這樣。
if(drection==Drection.WEST) return true; String west="WEST"; drection.toString().equals(west) return true;

C. Java中的枚舉有哪些應用場景

兩者使用上是差不多的。
我知道的區別有兩個:
1.C#的枚舉定義可以比java更加寬泛一些。C#可以定義枚舉值與int的映射關系(不從0開始),可以定義枚舉值的類型(int,short)。
2.switch語句的微妙差別:
比如
enum fruit{apple,orange};
java:
switch(fruit)
{
case apple:
break;
case orange:
break;
}
c#:
switch(fruit)
{
case fruit.apple:
break;
case fruit.orange:
break;
}

D. java中枚舉用來干什麼的

枚舉是該類型的一個實例,相當於static final 類型的變數,可用於switch中,

//枚舉類:
packagecom.golden.test;publicenumOperation{
/**增*/
INSERT,
/**刪*/
DELETE,
/**改*/
UPDATE,
/**查*/
QUERY
}
//測試類
packagecom.golden.test;

publicclassTestEnum{
publicstaticvoidmain(String[]args){
System.out.println(Operation.DELETE);
System.out.println(Operation.valueOf("DELETE"));
System.out.println(Operation.valueOf("DELETE")==Operation.DELETE);
System.out.println("DELETE".equals(Operation.DELETE.toString()));

switch(Operation.DELETE){
caseINSERT:/**TODO*/break;
caseDELETE:/**TODO*/System.out.println("DELETE...");break;
caseUPDATE:/**TODO*/break;
caseQUERY:/**TODO*/break;
default:
break;
}
}
}

E. 如何使用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);
}
}

F. Java枚舉類型怎麼使用

舉(enum)類型是Java 5新增的特性,它是一種新的類型,允許用常量來表示特定的數據片斷,而且全部都以類型安全的形式來表示。

1、常量的使用
在JDK1.5之前,我們定義常量都是:public static fianl....。現在好了,有了枚舉,可以把相關的常量分組到一個枚舉類型里,而且枚舉提供了比常量更多的方法。
總結:
1、枚舉的本質是類,在沒有枚舉之前,仍然可以按照java最基本的編程手段來解決需要用到枚舉的地方。枚舉屏蔽了枚舉值的類型信息,不像在用public static final定義變數必須指定類型。枚舉是用來構建常量數據結構的模板,這個模板可擴展。枚舉的使用增強了程序的健壯性,比如在引用一個不存在的枚舉值的時候,編譯器會報錯。枚舉的更多用法還需要在開發中去研究創造,Java5、Java6增加了不少新的特性,技術在升級,對程序員來說就要學習,如果你熱愛java的話。否則別人用到新特性的代碼你看不懂,那才叫郁悶。
2、枚舉在Java家族中只佔了很小的一塊比重,所以我在項目中用枚舉的地方不是很多,畢竟,一個項目是很多人開發維護的,用一個陌生的東西,會給其他的同事造成閱讀困難。所以常量大都是用public static final 來定義的。

G. 怎樣在Java中使用嵌套枚舉類型

Java語言中的枚舉類型的使用方法如下:
用法一:常量;
public enum Color { RED, GREEN, BLANK, YELLOW }

用法二:switch;
public class Test { 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; } // 覆蓋方法 @Override public String toString() { return this.index + "_" + this.name; } } public static void main(String[] args) { System.out.println(Color.RED.toString()); }}

用法五:實現介面;
public interface Behaviour { void print(); String getInfo(); } public enum Color implements Behaviour { 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; } // 介面方法 @Override public String getInfo() { return this.name; } // 介面方法 @Override public void print() { System.out.println(this.index + ":" + this.name); } }
用法六:使用介面組織枚舉。
public interface Food { enum Coffee implements Food { BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO } enum Dessert implements Food { FRUIT, CAKE, GELATO }}
以上就是Java語言中枚舉類型的基本使用方法。

H. JAVA中枚舉是什麼意思,怎麼用

枚舉就是把集合里的對象元素 一個一個提取出來!比如說 你買了一合巧克力 裡面有草莓味的 有香草口味的 有蘋果口味的 你想把他們拿出來 就必須用「手」一個一個把他們拿出來 並且一次只能取一個哦 這里的手就是枚舉器 你取的動作就是枚舉的過程

具體的用法 這個我就不好說了 推薦 你看看JDK1.5的API和參考別人的範例
看完了 基本可以理解 枚舉幾種選擇(有迭代器和枚舉器2種)和如何判斷是否已經取完了對象元素 等等 我不是很喜歡講語法 所以不好意思我就不給你丟代碼了~

I. java枚舉的幾種用法

用法一:常量
在JDK1.5 之前,我們定義常量都是: public static fianl.... 。現在好了,
有了枚舉,可以把相關的常量分組到一個枚舉類型里,而且枚舉提供了比常量更多的方法。
Java代碼

public enum Color {
RED, GREEN, BLANK, YELLOW
}

用法二:switch
JDK1.6之前的switch語句只支持int,char,enum類型,使用枚舉,能讓我們的代碼可讀性更強。
Java代碼

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;
}
}
}

用法三:向枚舉中添加新方法
如果打算自定義自己的方法,那麼必須在enum實例序列的最後添加一個分號。而且 Java 要求必須先定義 enum 實例。
Java代碼
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 static String getName(int index) {
for (Color c : Color.values()) {
if (c.getIndex() == index) {
return c.name;
}
}
return null;
}
// get set 方法
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;
}
}

用法四:覆蓋枚舉的方法
下面給出一個toString()方法覆蓋的例子。
Java代碼

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;
}
//覆蓋方法
@Override
public String toString() {
return this.index+"_"+this.name;
}
}

用法五:實現介面
所有的枚舉都繼承自java.lang.Enum類。由於Java 不支持多繼承,所以枚舉對象不能再繼承其他類。
Java代碼

public interface Behaviour {
void print();
String getInfo();
}
public enum Color implements Behaviour{
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;
}
//介面方法
@Override
public String getInfo() {
return this.name;
}
//介面方法
@Override
public void print() {
System.out.println(this.index+":"+this.name);
}
}

用法六:使用介面組織枚舉
Java代碼

public interface Food {
enum Coffee implements Food{
BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO
}
enum Dessert implements Food{
FRUIT, CAKE, GELATO
}
}

private static void testImplementsInterface() {
for (Food.DessertEnum dessertEnum : Food.DessertEnum.values()) {
System.out.print(dessertEnum + " ");
}
System.out.println();
//我這地方這么寫,是因為我在自己測試的時候,把這個coffee單獨到一個文件去實現那個food介面,而不是在那個介面的內部。
for (CoffeeEnum coffee : CoffeeEnum.values()) {
System.out.print(coffee + " ");
}
System.out.println();
//搞個實現介面,來組織枚舉,簡單講,就是分類吧。如果大量使用枚舉的話,這么干,在寫代碼的時候,就很方便調用啦。
//還有就是個「多態」的功能吧,
Food food = Food.DessertEnum.CAKE;
System.out.println(food);
food = CoffeeEnum.BLACK_COFFEE;
System.out.println(food);
}

J. Java枚舉有什麼用 寫個簡單例子給我看下啊謝謝.講的不要太官方了.謝謝

枚舉類型用於指定種類的對象數目已經確定,而且只作標志使用的。
即:對象能夠表達一定意義,卻只是一個原子結構,沒有更多屬性,這樣的對象在java中可以提高循環條件的判斷效率,可用作為switch的條件。
假設武器的類型只有以下8種,則可定義:

enum 兵器 {刀,槍,劍,戟,斧,鉞,鉤,叉}

定義以及使用方法:
public class Test {

public static void main(String[] args) {

兵器 enu = 兵器.劍;

switch(enu){
case 刀 :
case 槍 :
case 劍 :
case 戟 :
case 斧 :
case 鉞 :
case 鉤 :
case 叉 :
}

}

}

事實上:枚舉中的所有屬性均為公有、靜態而且為Enum類型的對象,枚舉類型在創建完成的時候就把所有可能產生的該類型對象全部列了出來。

熱點內容
c語言時間變數 發布:2025-01-24 10:40:24 瀏覽:868
ppiandroid 發布:2025-01-24 10:25:50 瀏覽:1000
兒童壓縮機 發布:2025-01-24 10:25:09 瀏覽:74
蘋果的允許訪問在哪裡 發布:2025-01-24 10:24:32 瀏覽:31
橡皮艇存儲 發布:2025-01-24 10:21:56 瀏覽:771
360的新機什麼配置 發布:2025-01-24 10:04:22 瀏覽:951
榮耀10方舟編譯器不卡頓了 發布:2025-01-24 09:59:59 瀏覽:502
章魚腳本助手 發布:2025-01-24 09:55:10 瀏覽:334
手游腳本論壇 發布:2025-01-24 09:54:20 瀏覽:30
沈陽螺桿空氣壓縮機 發布:2025-01-24 09:54:09 瀏覽:594