Java中使用枚举的好处

枚举介绍

枚举是诞生于JDK1.5,是新增的数据类型。使用枚举时我们可以描述一些特定的业务场景,比如对水果的种类描述、天气的描述,业务中常用的就是错误码的描述。

枚举的使用方法

1.常量的使用

package enumdemo;

public enum FruitEnum {
    APPLE,BANANA,PEACH
}

2.switch的使用

package enumdemo;

public enum FruitEnum {
    APPLE,BANANA,PEACH
}
class FruitTest{
    FruitEnum fruitEnum = FruitEnum.APPLE;
    
    public void test(){
        switch (fruitEnum){
            case APPLE:
                fruitEnum = FruitEnum.APPLE;
                break;
            case PEACH:
                fruitEnum = FruitEnum.BANANA;
                break;
        }
    }
}

假如不使用枚举的话(JDK1.5之前),通常使用int类型来定义这些常量,使用int时会存在一定的问题。

  • int本身是不具备安全性的,假如在定义的时候少了final关键字那么就会存在被他人修改的风险,但是枚举的话不会存在这样的风险
  • 使用int类型时语意表达的不明确,像数字的话不能直观的表达出它的含义

枚举是线程安全的原因:

  • 枚举只会在类加载时装载一次,所以是线程安全的
  • 从枚举类最终生成的字节码来看,都是会被final修饰的,而它的所有属性都会被finalstatic修饰
  • 当我们比较枚举的时候,可以直接使用==进行比较,因为它在程序加载的时候就创建了,而不是被new出来的,所有本身就只有一个对象,可以直接进行比较的
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值