列舉屬性(欄位)

如果我們想要將 enum 用於更多資訊而不僅僅是常量值,我們希望能夠比較兩個列舉。

請考慮以下示例:

public enum Coin {
    PENNY(1), NICKEL(5), DIME(10), QUARTER(25);

    private final int value;

    Coin(int value){
        this.value = value;
    }

    public boolean isGreaterThan(Coin other){
        return this.value > other.value;
    }

}

在這裡,我們定義了一個名為 CoinEnum,它代表了它的價值。使用方法 isGreaterThan,我們可以比較兩個 enums:

Coin penny = Coin.PENNY;
Coin dime = Coin.DIME;

System.out.println(penny.isGreaterThan(dime)); // prints: false
System.out.println(dime.isGreaterThan(penny)); // prints: true