枚舉類瞭解及練習

枚舉類瞭解及練習

​ 工作中遇到一個類,發現使用到了枚舉,這次也順帶着瞭解一下。很多東西雖然自己知道但是沒有再工作中遇到,也沒有去想什麼地方能遇到。後面也會對這類知識點在工作中的使用專門寫一些博客。

​ 枚舉類型比較特殊,算是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());
    }

}

​ 運行的截圖:

image-20200630233928092

說到底,還是簡單的使用。一旦到了工作中還是會忘記,因爲還是沒有在工作中使用,所以忘記的比較快。下面也給出一個代碼,希望自己不要忘記。後面也會列舉出工作中的使用。

image-20200630234426659

​ 有大佬知道這段代碼的作用也可以給菜鳥說一下。

​ 就這樣吧,結束。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章