1. 程式人生 > 其它 >在蘋果Mac中將 WEBP 圖片轉成 JPG、PNG 格式的 2 種方法

在蘋果Mac中將 WEBP 圖片轉成 JPG、PNG 格式的 2 種方法

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("春"){

    //如果列舉類中有抽象方法
    //那麼在列舉項中必須要全部重寫
    @Override
    public void show() {
    System.out.println(this.name);
    }

    },

    SUMMER("夏"){
    @Override
    public void show() {
    System.out.println(this.name);
    }
    },

    AUTUMN("秋"){
    @Override
    public void show() {
    System.out.println(this.name);
    }
    },

    WINTER("冬"){
    @Override
    public void show() {
    System.out.println(this.name);
    }
    };

    public String name;

    //空參構造
    //private Season(){}

    //有參構造
    private Season(String name){
    this.name = name;
    }

    //抽象方法
    public abstract void show();
    }

    public class EnumDemo {
    public static void main(String[] args) {
    /*
    1.所有列舉類都是Enum的子類
    2.我們可以通過"列舉類名.列舉項名稱"去訪問指定的列舉項
    3.每一個列舉項其實就是該列舉的一個物件
    4.列舉也是一個類,也可以去定義成員變數
    5.列舉類的第一行上必須是列舉項,最後一個列舉項後的分號是可以省略的,
    但是如果列舉類有其他的東西,這個分號就不能省略。建議不要省略
    6.列舉類可以有構造器,但必須是private的,它預設的也是private的。
    列舉項的用法比較特殊:列舉("");
    7.列舉類也可以有抽象方法,但是列舉項必須重寫該方法
    */

    //第二個特點的演示
    //我們可以通過"列舉類名.列舉項名稱"去訪問指定的列舉項
    System.out.println(Season.SPRING);
    System.out.println(Season.SUMMER);
    System.out.println(Season.AUTUMN);
    System.out.println(Season.WINTER);

    //第三個特點的演示
    //每一個列舉項其實就是該列舉的一個物件
    Season spring = 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);
    }
    }
    }