什么是枚举?

枚举是JDK5引入的新特性。在某些情况下,一个类的对象是固定的,就可以定义为枚举。在实际使用中,枚举类型也可以作为一种规范,保障程序参数安全。枚举有以下特点:

  1. Java中枚举和类、接口的级别相同。

  2. 枚举和类一样,都有自己的属性、方法、构造方法,不同点是:枚举的构造方法只能是private修饰,也就无法从外部构造对象。构造方法只在构造枚举值时调用。

  3. 使用enum关键字声明一个枚举类型时,就默认继承自Java中的java.lang.Enum类,并实现了java.lang.Seriablizablejava.lang.Comparable两个接口。

  4. 所有的枚举值都是public static final的,且非抽象的枚举类不能再派生子类。

  5. 枚举类的所有实例(枚举值)必须在枚举类的第一行显式地列出,否则这个枚举类将永远不能产生实例。

  6. 判断枚举是否相同时,使用 == 和 equals 是一样的。

枚举类型定义的一般形式为:

enum 枚举名{ 枚举值表 };

在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。

我这边只介绍一种用法:常量

在JDK1.5 之前,我们定义常量都是: public static fianl… 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。

ProductStatusEnum

我里我将商品状态用一个枚举类来表示。

/*** 商品状态* Created by 李柏霖* 2020/10/17 19:09*/package com.lbl.enume;import lombok.AllArgsConstructor;
import lombok.Getter;@AllArgsConstructor
@Getter
public enum  ProductStatusEnum {//枚举值表UP(0,"在架"),     //枚举元素DOWN(1,"下架");   //枚举元素private Integer code;private String message;}

这上面这里enum枚举类中,我定义了两个常量,UP在架和DOWN下架。

当我要使用这两个常量的时候,如我想要调用UP常量值,只需要ProductStatusEnum.UP.getCode()

/*** Created by 李柏霖* 2020/10/17 17:22*/package com.lbl.service.Impl;import com.lbl.dataObject.ProductInfo;
import com.lbl.enume.ProductStatusEnum;
import com.lbl.repository.ProductInfoRepository;
import com.lbl.service.IProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;import java.util.List;public class ProductServiceImpl implements IProductService {@Overridepublic List<ProductInfo> findUpAll() {return repository.findByProductStatus(ProductStatusEnum.UP.getCode());}}

微信点餐系统——用Enum枚举来保存商品状态相关推荐

  1. 微信点餐系统01——环境搭建

    微信点餐系统01--环境搭建 一.创建数据库表 ​ 微信点餐系统一共需要5个表. 商品表:商品编号.商品名称.商品价格.商品库存.商品描述.商品图片.商品情况(上架还是下架).它属于哪个类目(热销?男 ...

  2. 手机点餐系统概述_廖师兄 微信点餐系统 springcloud学习笔记

    概要:基于netflix的springcloud搭建微信点餐系统 目录 第一部分 项目概要 1.项目环境信息 2.介绍 第二部分 搭建Eureka Server 1.配置Eureka 的applica ...

  3. 微信点餐系统的开发与实现

    作者主页:编程指南针 作者简介:Java领域优质创作者.CSDN博客专家 .掘金特邀作者.多年架构师设计经验.腾讯课堂常驻讲师 主要内容:Java项目.毕业设计.简历模板.学习资料.面试题库.技术互助 ...

  4. 1、微信点餐系统之数据库设计

    1.微信点餐系统之数据库设计 ---- ----商品表格 ---- CREATE TABLE `product_info` (`product_id` VARCHAR(32) NOT NULL COM ...

  5. Spring Boot企业微信点餐系统

    Spring Boot企业微信点餐系统 网盘地址:https://pan.baidu.com/s/1kcsDXp5C7QiJpTnpdd41Ng 密码: qhxb 备用地址(腾讯微云):https:/ ...

  6. 微信点餐系统html,微信点餐系统,一种新型的点餐方式

    在过去,一般的传统收款方式基本都是从服务员给客户账单,然后消费者通过现金或者刷卡支付,这个过程至少需要5分钟左右.如果遇到一些要求仔细检查账单的消费者,这就还会增加付款的时间,但是如果拥有点餐系统里的 ...

  7. 云滋味:微信点餐系统案例分析

    餐饮业的不断发展,在经营管理上也逐步向电子化迈进,通过手机信息系统管理餐饮业的内部事务,使得作业更加简单化.高效.下面小编为大家介绍一款微信点餐系统--云滋味. 云滋味是英趣科技为中小型餐厅老板轻松解 ...

  8. 点餐系统架构模型_微信点餐系统的系统结构是由哪些功能模块组成呢?

    微信点餐系统的系统结构导读:随着外卖行业的发展,外卖平台越来越多,喜欢叫外卖的人也变得越来越多,随之而来的问题也就越来越多,例如,引客到店难,订单量多管理不当,留不住顾客等等一些餐饮行业痛点,客来云扫 ...

  9. 第二课 SpringBoot微信点餐系统买家类目设计

    第二课 SpringBoot微信点餐系统买家类目设计 tags: Java 慕课网 categories: DAO层开发 service层开发 文章目录 第二课 SpringBoot微信点餐系统买家类 ...

最新文章

  1. 如何快速将微信公众号留言嵌入到CSDN博文中?
  2. linux下java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider解决方法
  3. Yii Model中添加默认搜索条件
  4. 分区和分片的区别_MySQL分区与分片的差异
  5. TikTok 英国业务亏损、苹果从中国应用商店下架近4万款游戏、Zoom 接受调查等|Decode the Week...
  6. input输入框的input事件和change事件
  7. Jenkins持续集成环境, 如何自定义 maven repositories
  8. 数据挖掘学习06 - 《数据挖掘导论》导读
  9. STL中间set具体用法!!!!
  10. 今日芯声 | 连发五个“感恩”,余承东庆祝与鸿蒙OS同一天生日
  11. 打架打出来的牛逼城市!
  12. uc android快捷键,UC手机浏览器助力Android快速上网
  13. 用logisim实现串行的全加器
  14. VC++、MFC中最好的开源项目
  15. codeforces_946D_Timetable(分组背包)
  16. matlab里面box on啥意思,image – Matlab图片中的Box on和axis坐标
  17. Eventide发布SplitEQ,工作方式与传统的均衡器根本不同
  18. nodemcu c语言开发,nodemcu连接到中移onenet平台
  19. 关于java中Steam流的探索
  20. UI设计— 利用软件Sketch制作镂空图标

热门文章

  1. 大学英语期末考计算机上答卷,英语期末考试总结(精选7篇)
  2. 计算机结构化面试万能套话,结构化面试30句万能套话拯救你.pdf
  3. Lego Boost打算把所有乐高玩具变成可编程机器人
  4. 基于 Sentinel-2 卫星数据的像元三分法模型
  5. 每周分享第 36 期
  6. ICP备案教程-图文详细流程适合新手小白(Chinar出品)
  7. Run-Down 保护
  8. Python中回文数和质数问题的解决
  9. 荣耀linux改装win10教程,华为笔记本linux改win10教程|华为笔记本重装win10
  10. 从零开始学五线谱_从零开始学简谱(快速入门)