枚舉類瞭解及練習
工作中遇到一個類,發現使用到了枚舉,這次也順帶着瞭解一下。很多東西雖然自己知道但是沒有再工作中遇到,也沒有去想什麼地方能遇到。後面也會對這類知識點在工作中的使用專門寫一些博客。
枚舉類型比較特殊,算是Java中一個比較特殊的類。下面就列一個簡單的例子。
package enumtrain;
/**
* ClothesSize.java
* Description: 衣服大小枚舉類
*
* @author Peng Shiquan
* @date 2019-07-13
*/
public enum ClothesSize {
/**
* 枚舉類,利用構造方法傳參。這裏的四個碼號其實相當於四個實例
*/
S("S號"), L("L號"), XL("XL號"), XXL("XXL號");
String size;
public String getSize() {
return size;
}
/**
* Description: 構造方法,將枚舉項的值賦值給枚舉類的普通屬性,再通過公共方法獲取
*
* @param size
* @return
* @Author: Peng Shiquan
* @Date: 2019-07-13
*/
ClothesSize(String size) {
this.size = size;
}
}
上面就是一個簡單的枚舉類的例子。可以看到其實枚舉相當於Java中的常量,類似下面代碼。
public static final String ABA = "氣溫";
但是枚舉類要豐富的很多,裏面可以寫一些方法和變量,相對於上面的常量的定義要靈活的多。下面也給個例子如何使用。
package train;
import enumtrain.ClothesSize;
import java.util.Scanner;
/**
* ClothesSizeTest.java
* Description: 枚舉類測試方法
*
* @author Peng Shiquan
* @date 2020/6/30
*/
public class ClothesSizeTest {
public static void main(String[] args) {
/**
* 打印枚舉值的值和name
*/
ClothesSize clothesSize = ClothesSize.XL;
System.err.println("根據構造方法獲取枚舉類型的值:" + clothesSize.getSize());
System.err.println("直接獲取枚舉類型的name" + clothesSize.toString());
/**
* 獲取全部的枚舉值
*/
ClothesSize[] clothesSizes = ClothesSize.values();
for (ClothesSize clothesSize1 : clothesSizes) {
System.err.println("枚舉值name爲:" + clothesSize1.toString() + ",枚舉值value爲:" + clothesSize1.getSize());
}
/**
* 根據鍵盤的輸入取對應的枚舉值
*/
Scanner scanner = new Scanner(System.in);
String input = scanner.next().toUpperCase();
ClothesSize clothesSize1 = Enum.valueOf(ClothesSize.class, input);
System.err.println("輸入的枚舉值name爲:" + clothesSize1.toString() + ",輸入的枚舉值value爲:" + clothesSize1.getSize());
}
}
運行的截圖:
說到底,還是簡單的使用。一旦到了工作中還是會忘記,因爲還是沒有在工作中使用,所以忘記的比較快。下面也給出一個代碼,希望自己不要忘記。後面也會列舉出工作中的使用。
有大佬知道這段代碼的作用也可以給菜鳥說一下。
就這樣吧,結束。