Java 新特性 列舉

2021-08-11 08:02:36 字數 2031 閱讀 7050

package cn.enum.robertchao;

public enum color

1、可以通過「列舉.內容」的形式進行取值操作。

2、輸出列舉中的全部內容,可以使用foreach完成。

利用foreach把列舉型別中的內容全部取出。

package cn.enum.robertchao;

public class foreachenum

} }

3、enum類 和 enum關鍵字 。

使用enum關鍵字定義的列舉類,就相當是乙個子類,父類是enum類。

enum類中定義了下面幾個方法:

方法名稱

描述public enum(string name;int ordinal)

只能被其子類訪問,此構造方法為自動呼叫

public final string name()

列舉的名字

public final int ordinal()

列舉的序號

上述構造方法完全與name和ordinal有關

所以這個類的構造方法,在enum每次定義列舉型別的時候,實際上都會自動呼叫構造

4、類集對列舉的支援(enumset、enummap類)。

① enummap是map介面的子類,可以存放一對內容。

`enummap也是可以存放一對內容的。`
舉例:

enummapmap

= new enummap(color.class);

map.put(color.red,"紅色");

system.out.println(map.get(color.red));

② enumset是set介面的子類。

enumset.allof();表示將列舉的全部內容設定到集合之中。

enumset.noneof();表示set集合中只能是列舉內容,但不包含列舉中的具體內容。

舉例:

enumsetset = new enumset.allof(color.class);

for(color x : set)

讓列舉實現介面

在列舉操作中,乙個列舉類是允許實現多個介面的。

但是要求此時列舉中的每個物件都必須單獨各自覆寫介面中的抽象方法。

舉例:

package cn.com.rebortchao;

inte***ce info

poublic enum color implements info

}, green

}, blue

};}

測試一下上述列舉類對介面的引用。

package cn.com.rebortchao;

public class test

}}

在列舉中實現抽象方法

package cn.com.rebortchao;

poublic enum color

}, green

}, blue

}; public abstart string getcolor();

}

和繼承介面有些大同小異。

java 新特性 列舉

列舉就是要某個型別的變數的取值只能是幾個固定值中的某乙個,否則,編譯器就會報錯,列舉可以讓編譯器在編譯時就可以控制程式中填寫的非法值,普通變數的方式無法實現這一目標 列舉的實現 package learn 列舉 author hui public class enumtest 在上面的類中,自己定義...

java新特性 列舉 註解

一 列舉 1.首先列舉中在jdk1.5以後才有的。基於列舉的開發 2.enum類 enum類是enum類的父類,enum其實質就相當於是class類。在enum類中有如下三個方法 1 構造方法 protected enum string name,int ordinal 2 取得列舉名字 publi...

java新特性 萬用字元

在程式類中追加了泛型之後,避免了classcastexception的問題,同時又產生了引數統一化的問題。為了解決該問題,產生了新特性萬用字元,可以接受所有的泛型型別,但不能讓使用者隨意更改。該特性從jdk1.5之後出現。有以下三種常見的萬用字元 extends number 表示泛型型別只能是nu...