java學習筆記之 ——–枚舉(enum)

來源:互聯網
上載者:User

enum枚舉類型是JAVA SE 5.0 以後的版本新定義出來的, 在此版本之前,有個常用的方法來做枚舉類,  這個是視頻中學到的。。。

class WeekDay{public static final WeekDay SUN = new WeekDay();public static final WeekDay MON = new WeekDay();    public static final WeekDay TUE = new WeekDay();    public static final WeekDay WED = new WeekDay();    public static final WeekDay THU = new WeekDay();    public static final WeekDay FRI = new WeekDay();    public static final WeekDay SAT = new WeekDay();    public String toString(){    if(this==SUN) return "SUN";    else if (this==MON) return "MON";    else if (this==TUE) return "TUE";    else if (this==WED) return "WED";    else if (this==THU) return "THU";    else if (this==FRI) return "FRI";    else  return "SAT";    }    public static void main(String [] args){    WeekDay weekDay = WeekDay.SUN;    System.out.println(weekDay.toString());    }}

下面用到的就是枚舉類型啦,  他感覺上有點像類, 裡面也可以私自訂一些函數, 當然他內建也具有函數,

import java.util.*;enum Size{SMALL("S"),MEDIUM("M"),LARGE("L"),EXTRA_LARGE("XL");private Size(String abbreviation) {this.abbreviation = abbreviation;}public String getAbbreviation(){return abbreviation;}private String abbreviation;}public class Enums_TypeSafe{public static void main(String [] args){Scanner in = new Scanner(System.in);System.out.println("Enter a size:(SMALL,MEDIUM,LARGE,EXTRA_LARGE)");String input = in.next();Size size = Enum.valueOf(Size.class, input);  //可以返回指定名字,給定類的枚舉常量System.out.println("abbreviation=" + size.getAbbreviation());if(size == Size.EXTRA_LARGE)System.out.println("Good job -- you paid attention to the_.");}}

新版本enum類型的好處  就是可以放在switch語句中進行判斷。

String toString()  返回枚舉常量名

int ordinal()   返回枚舉常量在enum聲明中的位置   位置從0開始計數

int  compareTo(E other)   如果枚舉常量出現在other之前,則返回一個負值;如果this==other ,返回0,否則返回一個正值

Size[] values = Size.values();     enum類有一個values的方法,  可以返回一個enum類型的數組,也可以用enum.values().length() 獲得枚舉類型變數的長度。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.