java枚舉類型集合(java實體類中枚舉怎麼定義)

本文目錄一覽:

java枚舉類型

枚舉是一種特殊的數據類型,和類(class)是同一個級別,例如定義一個類Test,會有一個源文件Test.java,編譯會有一個位元組碼Test.class,那麼定義一個枚舉類型Myenum,編譯也會產生Myenum.class。

作用:存儲了一系列數據,保證數據的一個有效取值。

通常用到的地方是傳遞介面參數的時候,為了保證能傳遞一個合適的值,而不需要驗證這個值是否合法,那麼介面參數可以設置為枚舉類型,這裡說的介面不是interface,而是只針對開發的不同層之間調用。

Java中vector集合枚舉,和枚舉類型enum有什麼區別嗎?

現在枚舉都是淘汰的東西,不過還是說一下,枚舉不是類,枚舉可以看成是一個集合,比如你代碼中的weekday,現在大部分程序員編程都是用枚舉定義常量,比如下面這段: 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; } } } 裡面枚舉就是起定義常量的作用

Java枚舉類型怎麼使用

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

1、常量的使用

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

總結:

1、枚舉的本質是類,在沒有枚舉之前,仍然可以按照java最基本的編程手段來解決需要用到枚舉的地方。枚舉屏蔽了枚舉值的類型信息,不像在用public static final定義變數必須指定類型。枚舉是用來構建常量數據結構的模板,這個模板可擴展。枚舉的使用增強了程序的健壯性,比如在引用一個不存在的枚舉值的時候,編譯器會報錯。枚舉的更多用法還需要在開發中去研究創造,Java5、Java6增加了不少新的特性,技術在升級,對程序員來說就要學習,如果你熱愛java的話。否則別人用到新特性的代碼你看不懂,那才叫鬱悶。

2、枚舉在Java家族中只佔了很小的一塊比重,所以我在項目中用枚舉的地方不是很多,畢竟,一個項目是很多人開發維護的,用一個陌生的東西,會給其他的同事造成閱讀困難。所以常量大都是用public static final 來定義的。

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

}

}

java什麼是枚舉類型

你可以理解為枚舉也是一個類,但是這個類只有在內部聲明的幾個對象,不可新建對象。當你想使用枚舉類的對象的時候,就像使用類的靜態資源一樣就行了。

怎麼使用java中的枚舉方法

怎麼解釋枚舉呢。枚舉的定義就是一個有限值的集合。一個枚舉類型的變數它的值只可能是類型值中的一個。

所以 Drection 是類型名,Drection drection 則是此類型的變數,變數的值應該是類型裡邊所列的值中的一個,如果單寫個 WEST跟本不知道它是什麼,所以要加類名限定 即 Drection.WEST. 於是,對一個枚舉變數賦值的樣子就像這樣。

 if(drection==Drection.WEST) return true;   String west=”WEST”; drection.toString().equals(west) return true;

原創文章,作者:QNBA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/141581.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
QNBA的頭像QNBA
上一篇 2024-10-08 17:42
下一篇 2024-10-08 17:42

相關推薦

  • int類型變數的細節與注意事項

    本文將從 int 類型變數的定義、聲明、初始化、範圍、運算和類型轉換等方面,對 int 類型變數進行詳細闡述和講解,幫助讀者更好地掌握和應用 int 變數。 一、定義與聲明 int…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29
  • Python符號定義和使用方法

    本文將從多個方面介紹Python符號的定義和使用方法,涉及注釋、變數、運算符、條件語句和循環等多個方面。 一、注釋 1、單行注釋 # 這是一條單行注釋 2、多行注釋 “”” 這是一…

    編程 2025-04-29
  • Python中的隊列定義

    本篇文章旨在深入闡述Python中隊列的定義及其應用,包括隊列的定義、隊列的類型、隊列的操作以及隊列的應用。同時,我們也會為您提供Python代碼示例。 一、隊列的定義 隊列是一種…

    編程 2025-04-29
  • Python基本數字類型

    本文將介紹Python中基本數字類型,包括整型、布爾型、浮點型、複數型,並提供相應的代碼示例以便讀者更好的理解。 一、整型 整型即整數類型,Python中的整型沒有大小限制,所以可…

    編程 2025-04-29
  • Python中的Bool類型判斷

    本篇文章旨在講解Python中的Bool類型判斷。在Python中,Bool類型是經常使用的一種類型,因此掌握其用法非常重要。 一、True和False 在Python中,True…

    編程 2025-04-29
  • Python編程技巧:如何定義一個函數n!,並計算5!

    在這篇文章中,我們將研究如何使用Python編程語言定義一個能夠計算階乘的函數,並且演示如何使用該函數計算5!。 一、階乘函數的定義 在Python中,我們可以使用一個簡單的遞歸函…

    編程 2025-04-29
  • 全能編程開發工程師必知——DTD、XML、XSD以及DTD參數實體

    本文將從大體介紹DTD、XML以及XSD三大知識點,同時深入探究DTD參數實體的作用及實際應用場景。 一、DTD介紹 DTD是文檔類型定義(Document Type Defini…

    編程 2025-04-29
  • Python定義兩個列表的多面探索

    Python是一種強大的編程語言,開放源代碼,易於學習和使用。通過Python語言,我們可以定義各種數據類型,如列表(list)。在Python中,列表(list)在處理數據方面起…

    編程 2025-04-29

發表回復

登錄後才能評論