java_基础_枚举

6 篇文章 0 订阅

转载自: https://blog.csdn.net/weixin_32818577/article/details/114780420

枚举

java枚举

枚举并不是必要的: 没有什么情况下 是必须用枚举类型 枚举类型只是起到用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。
既然是 声明一组常数的话 程序中也可以一个一个声明,所以枚举只是一种简便的方式。就像数组,你声明一个10个元素的整型数组,如果不想使用数组,你也可以声明10个整型变量 来替换这个数组!!

JAVA的枚举类型是我见过迄今为止最为强大的枚举类型,说一个实际的吧,我们代码中用到的。

我先说一下使用场景,在订单列表中,订单状态有:

未付款,已付款,已发货,已收货,已退货,已取消等等这些状态,这些状态在界面上展示的颜色都不一样,所以这里用到了枚举来处理,代码大致如下://第一步,先定义大致的枚举结构。

enum OrderStatus{
UNPAID,

PAID,

SENDED,

RECEIVED,

REFUNDED,

CANCALED

}

那么我们怎么在这个基础上扩展这个枚举让他具有颜色这个属性呢?加一个抽象方法。public abstract int getStateColor();

在哪里加呢?我们看完整代码,稍后解释:

enum OrderStatus{
UNPAID{
@Override

public int getStateColor() {
return Color.parseColor("#111111");

}

},

PAID{
@Override

public int getStateColor() {
return Color.parseColor("#222222");

}

},

SENDED{
@Override

public int getStateColor() {
return Color.parseColor("#333333");

}

},

RECEIVED{
@Override

public int getStateColor() {
return Color.parseColor("#444444");

}

},

REFUNDED{
@Override

public int getStateColor() {
return Color.parseColor("#555555");

}

},

CANCALED{
@Override

public int getStateColor() {
return Color.parseColor("#666666");

}

};


//加了这个抽象方法之后,编辑器会提醒你,其他枚举没有实现这个枚举,那我们在上面依次实现一下

//见以上代码

public abstract int getStateColor();

}

其中的颜色为了区别,随便写的。代码可能有点长,但是只要你在枚举里边加了抽象方法,那么所有此类型的枚举都得实现这个抽象方法,来看看使用。

OrderStatus state = OrderStatus.UNPAID;

//此时,使用此状态的颜色就很简单了

//其他地方可这么使用:state.getStateColor();

kotlin枚举

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,枚类是一种特殊的类,它限制了对象的数量,并且这些对象是预定义的。枚类模板通常包含一些常量和方法。下面是一个Java枚类的模板示例: ```java public enum Color { RED("红色"), BLUE("蓝色"), GREEN("绿色"), YELLOW("黄色"); private String description; private Color(String description) { this.description = description; } public String getDescription() { return description; } } ``` 在这个示例中,枚类Color定义了四个常量:RED、BLUE、GREEN和YELLOW。每个常量都有一个对应的中文描述。枚类还定义了一个description字段和一个getDescription方法,用于获取颜色的中文表述。 使用枚类时,可以通过枚常量的名称来引用它们。例如,`Color color = Color.BLUE;`将创建一个Color对象,表示蓝色。可以通过调用`color.getDescription()`方法来获取蓝色的中文表述。 此外,可以使用`Color.values()`方法获取枚类中所有的枚常量,并使用`ordinal()`方法获取每个枚常量的索引值。 希望这个模板能够帮助你理解Java枚类的使用。如果你有任何其他问题,请随时提问。 #### 引用[.reference_title] - *1* *2* *3* [【java基础】枚类(enum)](https://blog.csdn.net/m0_51545690/article/details/129229709)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值