java基础-枚举类

理解:枚举类是否有点不太容易理解,跟普通的类不同一样,我觉的不同点就是枚举类中的枚举列表其实就是该类的实例对象。

如果能这样的理解是不是就感觉能理解通了。也就是说枚举类中已经有该类所有的实例对象了。

应用场景1

switch

package com.tzw.util;

public enum Color {

    RED,
    GREEN,
    BLUE,
    ORANGE;
}
package com.tzw.util;

public class A {
    
    
    public void aa(Color color){

        switch(color){

            case RED:
                System.out.println("红色");
                break;
            case BLUE:
                System.out.println("蓝色");
                break;
        }
    }


    
}

应用场景2

这种枚举类和上面的枚举类的不同,本质上就是构造方法的不同。

package com.tzw.util;

public enum Color {

    RED("01","红色"),
    GREEN("02","绿色"),
    BLUE("03","蓝色"),
    ORANGE("04","橘色");


    private String key;
    private String value;

    private Color(String key,String value){
        this.key = key;
        this.value = value;
    }

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    /**
     * 自定方法,根据枚举值的key获取value值
     * @param key
     * @return
     */
    public static String getValueByKey(String key){

        Color[] values = values();
        for (Color color:values) {
            if(color.getKey().equals(key)){
                return color.getValue();
            }
        }
        return null;
    }

}

 

package com.tzw.util;

import static com.tzw.util.Color.RED;

public class A {
    
    
    public void aa(){

        String valueByKey = Color.getValueByKey("01");
        System.out.println(valueByKey);

    }
    public static void main(String[] args) {
        A a = new A();
        a.aa();
    }
    
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值