什么是枚举?

什么是枚举?

枚举enum是一种特殊的类(但枚举是类),使用枚举可以很方便的定义常量
比如设计一个枚举类型 四季,里面需要定义四个常量,常量写成大写
public enum Season {
SPRING,SUMMER,AUTUMN,WINTER;
}
这样就可以用switch语句进行判断,如当前季节为Season时,即为春季,以此类推;

假在需要用到给某类的季节属性赋值时,不使用枚举,不管是定义int属性,用1-4表示四季,还是直接写中文“春季”、“夏季”、“秋季”、“冬季”表示四季,都有可能出现5或“春天”这样范围外的数值。

但是使用枚举,就能把范围规定到“SPRING,SUMMER,AUTUMN,WINTER”当中,这样就可以避免范围外的数值。
例:

// 定义一个枚举类型 季节
enum Season {
    SPRING,SUMMER,AUTUMN,WINTER
}

// 定义一个月份
class Month{

    private Season season;
	
    public Season getSeason() {
        return season;
    }
    public void setSeason(Season season) {
        this.season = season;
    }
    
    public Month() {}
    public Month(Season season) {
        this.season = season;
    }

    @Override
    public String toString() {
        return "Month{ season = " + season + '}';
    }

}

// 测试类
public class Test {
    public static void main(String[] args) {
        // 定义一个月份类对象
        Month month = new Month();
        // 给他的季节属性赋值
        month.setSeason(Season.AUTUMN);
        System.out.println(month);  // 会打印Month{ season = AUTUMN}
    }
}

枚举类中的**values()**方法可返回所有枚举常量的数组集合;

Season[] values = Season.values();
for (Season s:values) {
     System.out.println(s);  
}

枚举的主要作用
在方法的参数列表中定义参数类型为枚举类,那么在传参时,参数值只能从枚举类的枚举项中选择,不会出现乱写现象。

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值