在蘋果Mac中將 WEBP 圖片轉成 JPG、PNG 格式的 2 種方法
阿新 • • 發佈:2021-07-21
2.1概述【理解】
為了間接的表示一些固定的值,Java就給我們提供了列舉 是指將變數的值一一列出來,變數的值只限於列舉出來的值的範圍內
2.2定義格式【應用】
-
格式
public enum s {
列舉項1,列舉項2,列舉項3;
}
注意: 定義列舉類要用關鍵字enum -
示例程式碼
// 定義一個列舉類,用來表示春,夏,秋,冬這四個固定值
public enum Season {
SPRING,SUMMER,AUTUMN,WINTER;
}
2.3列舉的特點【理解】
-
特點
-
所有列舉類都是Enum的子類
-
我們可以通過"列舉類名.列舉項名稱"去訪問指定的列舉項
-
每一個列舉項其實就是該列舉的一個物件
-
列舉也是一個類,也可以去定義成員變數
-
列舉類的第一行上必須是列舉項,最後一個列舉項後的分號是可以省略的,但是如果列舉類有其他的東西,這個分號就不能省略。建議不要省略
-
列舉類可以有構造器,但必須是private的,它預設的也是private的。
列舉項的用法比較特殊:列舉("");
-
列舉類也可以有抽象方法,但是列舉項必須重寫該方法
-
-
示例程式碼
public enum Season {
SPRING("春"){
//如果列舉類中有抽象方法
//那麼在列舉項中必須要全部重寫
2.4列舉的方法【應用】
-
方法介紹
方法名 說明 String name() 獲取列舉項的名稱 int ordinal() 返回列舉項在列舉類中的索引值 int compareTo(E o) 比較兩個列舉項,返回的是索引值的差值 String toString() 返回列舉常量的名稱 static <T> T valueOf(Class<T> type,String name) 獲取指定列舉類中的指定名稱的列舉值 values() 獲得所有的列舉項 -
示例程式碼
public enum Season {
SPRING,SUMMER,AUTUMN,WINTER;
}
public class EnumDemo {
public static void main(String[] args) {
// String name() 獲取列舉項的名稱
String name = Season.SPRING.name();
System.out.println(name);
System.out.println("-----------------------------");
// int ordinal() 返回列舉項在列舉類中的索引值
int index1 = Season.SPRING.ordinal();
int index2 = Season.SUMMER.ordinal();
int index3 = Season.AUTUMN.ordinal();
int index4 = Season.WINTER.ordinal();
System.out.println(index1);
System.out.println(index2);
System.out.println(index3);
System.out.println(index4);
System.out.println("-----------------------------");
// int compareTo(E o) 比較兩個列舉項,返回的是索引值的差值
int result = Season.SPRING.compareTo(Season.WINTER);
System.out.println(result);//-3
System.out.println("-----------------------------");
// String toString() 返回列舉常量的名稱
String s = Season.SPRING.toString();
System.out.println(s);
System.out.println("-----------------------------");
// static <T> T valueOf(Class<T> type,String name)
// 獲取指定列舉類中的指定名稱的列舉值
Season spring = Enum.valueOf(Season.class, "SPRING");
System.out.println(spring);
System.out.println(Season.SPRING == spring);
System.out.println("-----------------------------");
// values() 獲得所有的列舉項
Season[] values = Season.values();
for (Season value : values) {
System.out.println(value);
}
}
}