亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java 1.5新特性Enum的用法

發布時間:2020-08-18 13:53:06 來源:ITPUB博客 閱讀:163 作者:lotuszm 欄目:編程語言
Enum是enumeration(列舉)的簡寫形式,包含在java.lang包中.
public enum Season { winter, spring, summer, fall }


一個enum是定義一組值的對象,它可以包括零個或多個值成員.它是屬于enum類型的,一個enum對象中不可有兩個或多個相同的屬性或值.在次之前的java程序員一般是 用接口的方法實現列舉的,[@more@]public interface Season {

static winter = 0;

static spring = 1; //etc..

}

引入了enum的java的列舉的編寫方便了許多,只須定義一個enum型的對象.enum對象的值都回自動獲得一個數字值,從0開始,依次遞增.看一個比較簡單的enum實現的例子:

EnumDemo.java

package net.javagarage.enums;



/*

We can loop over the values we put into the enum

using the values() method.

Note that the enum Seasons is compiled into a

separate unit, called EnumDemo$Seasons.class

*/

public class EnumDemo {



/*declare the enum and add values to it. note that, like in C#, we don't use a ; to

end this statement and we use commas to separate the values */



private enum Seasons { winter, spring,

summer, fall }



//list the values

public static void main(String[] args) {

for (Seasons s : Seasons.values()){

System.out.println(s);

}

}



}
運行上述代碼你回得到 以下結果:

winter

spring

summer

fall

Enum的屬性調用:

下面的代碼展示了調用enum對象的方法,這也是它通常的用法:

package net.javagarage.enums;

/*

File: EnumSwitch.java

Purpose: show how to switch against the values in an enum.

*/



public class EnumSwitch {



private enum Color { red, blue, green }



//list the values

public static void main(String[] args) {

//refer to the qualified value

doIt(Color.red);



}



/*note that you switch against the UNQUALIFIED name. that is, "case Color.red:" is a

compiler error */



private static void doIt(Color c){



switch (c) {

case red:

System.out.println("value is " + Color.red);

break;

case green:

System.out.println("value is " + Color.green);

break;

case blue:

System.out.println("value is : " + Color.blue);

break;

default :

System.out.println("default");

}

}
}

為enums添加屬性和方法

enums也可以象一般的類一樣添加方法和屬性,你可以為它添加靜態和非靜態的屬性或方法,這一切都象你在一般的類中做的那樣.

package net.javagarage.enums;



/*

File: EnumDemo.java

Purpose: show how to use an enum that also defines its own fields and methods

*/



public class EnumWithMethods {



//declare the enum and add values to it.



public enum Season {



winter, spring, summer, fall;



private final static String location = "Phoenix";



public static Season getBest(){

if (location.equals("Phoenix"))

return winter;

else

return summer;



}



public static void main(String[] args) {



System.out.println(Season.getBest());

}

}

就是這么的簡單.但是有一點是需要注意的,那就是enums的值列表必須緊跟在enum聲明,不然編譯時將會出錯.

Enums構造函數:

和類一樣enums也可以有自己的構造函數,如下:

package net.javagarage.enums;



public class EnumConstructor {



public static void main(String[] a) {



//call our enum using the values method

for (Temp t : Temp.values())

System.out.println(t + " is : " + t.getValue());

}



//make the enum

public enum Temp {

absoluteZero(-459), freezing(32),

boiling(212), paperBurns(451);



//constructor here

Temp(int value) {

this.value = value;

}



//regular field?but make it final,

//since that is the point, to make constants

private final int value;



//regular get method

public int getValue() {

return value;

}



}

}
輸出結果是:

absoluteZero is : -459

freezing is : 32

boiling is : 212

paperBurns is : 451

盡管enums有這么多的屬性,但并不是用的越多越好,如果那樣還不如直接用類來的直接.enums的優勢在定義int最終變量僅當這些值有一定特殊含義時.但是如果你需要的是一個類,就定義一個類,而不是enum.
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜君县| 股票| 石台县| 荔浦县| 治县。| 铜梁县| 宣恩县| 北票市| 门源| 资源县| 北辰区| 大关县| 永年县| 黄石市| 中西区| 额济纳旗| 临沂市| 同仁县| 关岭| 临海市| 新乡市| 秭归县| 新巴尔虎左旗| 巧家县| 全南县| 寿光市| 渝中区| 商水县| 莱州市| 公主岭市| 杭州市| 龙泉市| 新平| 安多县| 福安市| 安徽省| 宜宾市| 万年县| 佛坪县| 山东| 宜春市|