Java —— 列舉類(enum 類)
有時一個類的物件是有限且固定的,在這種情況下,為了方便,可以使用列舉類。
【自定義列舉類】
自定義列舉類的步驟分以下四步:
- 提供類的屬性,宣告為:private、final
- 將屬性在構造器內初始化
- 通過公共方法呼叫屬性
- 在列舉類內部建立列舉物件
import java.util.*;
public class Main {
public static void main(String[] args) {
Season spring=Season.SPRING;
System.out.println(spring.getSeasonName());
System.out.println(spring.getSeasonNumber());
}
}
class Season{
//提供類的屬性
private final String name;
private final int number;
//構造器內初始化
private Season(String name,int number) {
this.name = name;
this.number = number;
}
//通過公共方法呼叫屬性
public String getSeasonName() {
return name;
}
public int getSeasonNumber() {
return number;
}
@Override
public String toString() {
return "Season [name=" + name + ", number=" + number + "]";
}
//建立列舉類物件
public static final Season SPRING = new Season("spring",1);
public static final Season SUMMER = new Season("summer",2);
public static final Season AUTUMN = new Season("autumn",3);
public static final Season WINTER = new Season("winter",4);
}
【使用 enum 定義列舉類】
使用 enum 定義列舉類與自定義列舉類方法大致相同,不同的是要將建立列舉類物件放至類的最前,且初始化格式如下
enum Season{
//建立列舉類物件
SPRING("spring",1),
SUMMER("summer",2),
AUTUMN("autumn",3),
WINTER("winter",4);
//提供類的屬性
private final String name;
private final int number;
//構造器內初始化
private Season(String name,int number) {
this.name = name;
this.number = number;
}
//通過公共方法呼叫屬性
public String getSeasonName() {
return name;
}
public int getSeasonNumber() {
return number;
}
@Override
public String toString() {
return "Season [name=" + name + ", number=" + number + "]";
}
}
列舉類的最大特點是增加了一些內建方法,如:values() 方法可以將列舉物件轉成陣列,valueOf(String str) 方法可以將寫入字串轉回列舉物件
public static void main(String[] args) {
Season[] seasons=Season.values();
for(Season i:seasons)
System.out.println(i);
/* 執行結果
* Season [name=spring, number=1]
* Season [name=summer, number=2]
* Season [name=autumn, number=3]
* Season [name=winter, number=4]
*/
String str="SPRING";
Season summer=Season.valueOf(str);
System.out.println(spring);
//執行結果:Season [name=spring, number=1]
}
關於列舉類的更多用法:點選這裡
相關文章
- 【python】Enum 列舉類Python
- Java enum列舉類詳解 列舉的常見用法Java
- Kotlin-17.列舉類(enum class)Kotlin
- Java 列舉(enum)Java
- java列舉類Java
- Java(4)列舉類Java
- Kotlin——中級篇(五):列舉類(Enum)、介面類(Interface)詳解Kotlin
- Java - Enum 列舉型別Java型別
- Java 列舉 enum 詳解Java
- java基礎:enum列舉Java
- java中列舉(Enum)使用Java
- 再談java列舉enumJava
- C# Enum列舉型別操作擴充套件類C#型別套件
- java_06列舉類Java
- JAVA(四)類集/列舉Java
- Day69.註解&列舉類的複習 -Java註解&列舉類Java
- 聊一聊Java的列舉enumJava
- TypeScript 列舉enumTypeScript
- Java列舉類、註解和反射Java反射
- 列舉工具類
- java enum(列舉)使用詳解 + 總結Java
- Java enum 列舉還可以這麼用Java
- ENUM列舉型別型別
- iOS - OC Enum 列舉iOS
- Java列舉類學習到進階Java
- Python元類與列舉類Python
- Java列舉enum可以有抽象方法! -RecepİnançJava抽象NaN
- Java列舉:小小enum,優雅而乾淨Java
- 關於Java中列舉Enum的深入剖析Java
- JAVA 基礎 - ENUM 列舉的簡單使用Java
- Java列舉類,這樣使用優雅、易懂Java
- Java列舉類,你們用對了嗎?Java
- Java列舉型別enum的詳解及使用Java型別
- Java列舉類與註解詳解——一篇文章讀懂列舉類與註解詳Java
- Java第七天-常用類及列舉Java
- Java一個列舉類的2種實現。Java
- 聊聊TypeScript中列舉物件(Enum)TypeScript物件
- mysql之ENUM列舉型別MySql型別