⛳ Java 枚举

目录

  • ⛳ 枚举
    • **🎨 例子:使用常量表示线程状态**
    • 🏭 例子:使用枚举表示线程状态
    • 📢 例子:订单状态的枚举

⛳ 枚举

  • 类的对象只有有限个,确定的。 使用场景:

    • 星期: Monday(星期一)、 …、 Sunday(星期天)
    • 性别: Man(男)、 Woman(女)
    • 季节: Spring(春节)…Winter(冬天)
    • 支付方式: Cash(现金)、 WeChatPay(微信)、 Alipay(支付宝)、 BankCard(银行卡)、 CreditCard(信用卡)
    • 就职状态: Busy、 Free、 Vocation、 Dimission
    • 订单状态: Nonpayment(未付款)、 Paid(已付款) 、 Delivered(已发货)、Return(退货)、 Checked(已确认) Fulfilled(已配货)、
    • 线程状态:创建、就绪、运行、阻塞、死亡
  • 当需要定义一组常量时,强烈建议使用枚举类 使用说明:

    • 使用 enum 定义的枚举类默认继承了 java.lang.Enum类,因此不能再继承其他类
    • 枚举类的构造器只能使用 private 权限修饰符
    • 枚举类的所有实例必须在枚举类中显式列出(, 分隔 ; 结尾)。列出的实例系统会自动添加 public static final 修饰
    • 必须在枚举类的第一行声明枚举类对象
  • Enum类的主要方法:

    • values()方法:返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举值。
    • valueOf(String str):可以把一个字符串转为对应的枚举类对象。要求字符串必须是枚举类对象的“名字”。如不是,会有运行时异常:IllegalArgumentException。
    • toString():返回当前枚举类对象常量的名称

🎨 例子:使用常量表示线程状态

public class StateDem1 {public static void main(String[] args) {System.out.println(State.WAITING);}static class State {public static final String NEW = "NEW";public static final String RUNNABLE = "RUNNABLE";public static final String BLOCKED = "BLOCKED";public static final String WAITING = "WAITING";public static final String TIMED_WAITING = "TIMED_WAITING";public static final String TERMINATED = "TERMINATED";
//        public static final String TERMINATED2 = "TERMINATED2";}
}

🏭 例子:使用枚举表示线程状态

public class StateDem2 {int i;static int i1;public static void main(String[] args) {//获取一个枚举对象System.out.println(State.WAITING);System.out.println(State.valueOf("BLOCKED"));//循环枚举State[] states = State.values();for (int i = 0; i < states.length; i++) {System.out.println(states[i]);}}enum State {//一个类State,中有6个这个类的静态对象NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED;}}

📢 例子:订单状态的枚举

package org.example.$_enum;import org.junit.Test;/***   订单状态: Nonpayment(未付款)、 Paid(已付款) 、 Delivered(已发货)、Return(退货)、 Checked(已确认) Fulfilled(已配货)、*/
public class StateEnum {@Testpublic void test01(){OrderState[] values = OrderState.values();for (int i = 0; i < values.length; i++) {System.out.println(values[i] + "-" + values[i].getValue() + "-" + values[i].getCode());}}public enum OrderState {//static final OrderState NON_PAYMENT = new OrderState(1, "未付款")NON_PAYMENT(1, "未付款"),PAID(2, "已付款"),DELIVERED(3, "已发货"),RETURN(4, "退货"),CHECKED(5, "已确认"),FULFILLED(6, "已配货");private OrderState(int code, String value) {this.code = code;this.value = value;}private int code;private String value;public String getValue() {return value;}public int getCode() {return code;}}}

结果:

NON_PAYMENT-未付款-1
PAID-已付款-2
DELIVERED-已发货-3
RETURN-退货-4
CHECKED-已确认-5
FULFILLED-已配货-6

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/25985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS 安装 Jenkins

本文目录 1. 安装 JDK2. 获取 Jenkins 安装包3. 将安装包上传到服务器4. 修改 Jenkins 配置5. 启动 Jenkins6. 打开浏览器访问7. 获取并输入 admin 账户密码8. 跳过插件安装9. 添加管理员账户 1. 安装 JDK Jenkins 需要依赖 JDK&#xff0c;所以先安装 JDK1.8。输入以下命令&a…

鸿蒙终于不套壳了?纯血 HarmonyOS NEXT 即将到来

对于移动开发者来说&#xff0c;特别是 Android 开发而言&#xff0c;鸿蒙是不是套壳 Android 一直是一个「热门」话题&#xff0c;类似的问题一直是知乎的「热点流量」之一&#xff0c;特别是每次鸿蒙发布新版本之后&#xff0c;都会有「套娃式」的问题出现。 例如最近 HDC 刚…

9、Kubernetes核心技术 - Volume

目录 一、概述 二、卷的类型 三、emptyDir 四、hostPath 五、NFS 5.1、master服务器上搭建nfs服务器 5.2、各个slave节点上安装nfs客户端 5.3、创建Pod 六、PV和PVC 6.1、PV 6.1.1、PV资源清单文件示例 6.1.2、PV属性说明 6.1.3、PV的状态 6.2、PVC 6.2.1、PVC资…

Java数据类型,你不想不学会都不行~

——每一种数据都定义了明确的数据类型&#xff0c;在内存中分配了不同大小的内存空间&#xff08;字节&#xff09; 思维导图 一.整数类型 1.什么是整数类型 —— 用int、short、byte、long存储的整数值就是整数类型 2.整数的类型 类型 所占的字节数 数值…

【《深入浅出计算机网络》学习笔记】第1章 概述

内容来自b站湖科大教书匠《深入浅出计算机网络》视频和《深入浅出计算机网络》书籍 目录 1.1 信息时代的计算机网络 1.1.1 计算机网络的各类应用 1.1.2 计算机网络带来的负面问题 1.2 因特网概述 1.2.1 网络、互联网与因特网的区别与关系 1.2.1.1 网络 1.2.1.2 互联网 …

探讨|使用或不使用机器学习

动动发财的小手&#xff0c;点个赞吧&#xff01; 机器学习擅长解决某些复杂问题&#xff0c;通常涉及特征和结果之间的困难关系&#xff0c;这些关系不能轻易地硬编码为启发式或 if-else 语句。然而&#xff0c;在决定 ML 是否是当前给定问题的良好解决方案时&#xff0c;有一…

24届近5年同济大学自动化考研院校分析

今天给大家带来的是同济大学控制考研分析 满满干货&#xff5e;还不快快点赞收藏 一、同济大学 学校简介 同济大学历史悠久、声誉卓著&#xff0c;是中国最早的国立大学之一&#xff0c;是教育部直属并与上海市共建的全国重点大学。经过115年的发展&#xff0c;同济大学已经…

什么是场景营销,小红书场景营销方式和方法有哪些

现在小红书上最流行的就是场景营销&#xff0c;那什么是场景营销&#xff0c;应该怎么做呢&#xff1f;今天来和大家分享下大家都在说得场景营销是什么&#xff0c;在小红书投放怎么做好场景营销&#xff1f; 一、什么是场景化营销 说白来&#xff0c;场景营销(Scene Marketing…

触控笔和pencil笔一样吗?性价比平板手写笔推荐

其实&#xff0c;目前市面上的很多产品&#xff0c;有的侧重于外观&#xff0c;有的侧重于功能&#xff0c;有的侧重于性能。就像是ipad里的电容笔一样。因此&#xff0c;在选购电容笔时&#xff0c;一定要对电容笔有所了解。在购买之前&#xff0c;一定要对不同种类的电容笔有…

【VSCode】报错:出现段错误解决办法 (Segmentation fault)

VScode报错&#xff1a;Segmentation fault (core dumped)的解决办法 解决Program received signal SIGSEGV, Segmentation fault.的辛酸 Linux环境下段错误的产生原因及调试方法小结 Linux下的段错误Segmentationfault产生的原因及调试方法经典.pdf 解决办法&#xff1a;

第四次作业

1. 简述静态网页和动态网页的区别。 静态页面&#xff1a;请求响应信息&#xff0c;发给客户端进行处理&#xff0c;由浏览器进行解析&#xff0c;显示的页面。在网站设计中&#xff0c;纯粹HTML格式的网页&#xff08;可以包含图片、视频JS (前端功能实现&#xff09;、CSS (…

【论文阅读】基于深度学习的时序异常检测——Anomaly Transformer

系列文章链接 论文一&#xff1a;2022 Anomaly Transformer 文章目录 理论概述代码实战 论文链接&#xff1a; Anomaly Transformer.pdf 代码链接&#xff1a; https://github.com/thuml/Anomaly-Transformer 视频讲解&#xff08;原作者禁止转载&#xff0c;联系的话侵删&am…

九、ESP32控制1602LCD屏幕显示内容

1. 运行效果 2. 1602简介 1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字) 市面上字符液晶大多数是基于HD44780液晶芯片的 需要8根数据线来传输要显示的数据,当然还

nvm下载安装配置

一、作用 nvm是node版本管理的工具&#xff0c;具有管理、下载、切换node版本等能力。经常不同项目需要依赖不同版本的node&#xff0c;此时nvm就能有效的解决node版本切换的问题。 二、nvm下载安装配置 &#xff08;1&#xff09;安装包地址 https://github.com/coreybutl…

帕累托森林:IEEE Fellow唐远炎院士出任「儒特科技」首席架构官

导语 「儒特科技」作为一家拥有全球独创性极致化微内核Web引擎架构的前沿科技企业&#xff0c;从成立即受到中科院软件所和工信部的重点孵化及扶持&#xff0c;成长异常迅速。前不久刚正式官方融入中国五大根操作系统体系&#xff0c;加速为其下游上千家相关衍生OS和应用软件企…

css position: sticky;实现上下粘性布局,中间区域滚动

sticky主要解决的问题 1、使用absolute和fixed中间区域需要定义高度2、使用absolute和fixed底部需要写padding-bottom 避免列表被遮挡住一部分&#xff08;底部是浮窗的时候&#xff0c;需要动态的现实隐藏&#xff09; <!DOCTYPE html> <html lang"en"&…

如何创建51单片机KEIL工程

如何创建51单片机KEIL工程步骤&#xff1a; &#xff08;1&#xff09;打开keil软件&#xff0c;点击工具栏-Project&#xff0c;选择创建新的工程&#xff1b; &#xff08;2&#xff09;然后给工程命名&#xff0c;文章以project为例&#xff0c;然后点击保存 &#xff08…

Jtti:Ubuntu静态IP地址怎么配置

在 Ubuntu 中配置静态 IP 地址需要编辑网络配置文件。以下是在 Ubuntu 20.04 版本中配置静态 IP 地址的步骤&#xff1a; 打开终端&#xff0c;以管理员身份登录或使用 sudo 权限。 使用以下命令打开网络配置文件进行编辑&#xff1a; sudo nano /etc/netplan/00-installer-…

python:isdigit()、isalpha()、isalnum() 三个函数的区别和注意点

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 一、isdigit() python关于 isdigit() 内置函数的官方定义&#xff1a; S.isdigit() -> bool Return True if all characters in S are digitsand there is at least one character in S, False otherwise.翻…

nodejs环境部署

1.前言 前端的打包必须要使用nodejs环境 2.部署 下载安装包&#xff0c;在下面的路径中找到适合自己项目合适的版本在下载&#xff0c;可以问一下前端开发人员 路径&#xff1a;Index of /dist/ 我这里是下载了14.21.3版本的nodejs环境,上传到需要部署的主机中 mkdir /opt…