了解什么是枚举(enumeration)

2023-05-16

1、枚举是一组常量的集合。还可以看成包含有限特定的对象。

2、自定义枚举的步骤:

  •  将构造器私有化private
  • 将get方法拿掉
  • 在类的内部直接创建固定的对象,比如:
  • public static Season SPRING = new Season("春天","温暖");
  • 使用:Season.SPRING,这个使用时最重要的
  • 优化:public final static Season SPRING = new Season("春天","温暖");

3、final修饰的变量一般都是大写。

4、在本类创建对象 



使用enumeration关键字实现枚举

1、使用关键字enum替代class。使用这个关键字后默认继承Enum类,因此枚举类不能在继承其他的类了。但是可以实现接口。

2、常量名(实参列表):SPRING("春天","温暖");直接和构造器匹配。有多个常量对象。中间用,号间隔。

        eg:

//常量对象要写在最前面
SPRING("春天","温暖"),WINTER("冬天","冷");
private String name ;
private String  desc;

//下面就是构造器

3、注意事项

  •  使用enum关键字创建枚举类的时候,会默认继承Eunm类。
  • 如果使用无参构造器,后面的括号可以不写。
  • 枚举之间用,好分隔。
  • 枚举对象放在行首。
  • 枚举对象是静态性质的,所以我们可以知道要是赋值的话其实是一个地址。

 4、常用的方法

 

 增强for循环:

for (int i :nums){
    sout("i = " + i);
}

//就是将数组中nums的值取出来赋值给i,知道取出最后一个i。

 

package enumeration;

public class eum01 {


    public static void main(String[] args) {
        //给他一个索引
        Season spring = Season.SPRING;
        //给他一个索引,觉得
        System.out.println(spring.name());
        System.out.println("次序  " + spring.ordinal());
        System.out.println("######");

        final Season[] values = Season.values();
        //遍历枚举类中的信息
        for(Season i :values){
            System.out.println(i);
        }
        //增强for循环
        final Season spring1 = Season.valueOf("SPRING");


        System.out.println(Season.SPRING.compareTo(Season.SUMMER));
        //Season.SPRING   换成上面的spring也是可以的,其实还是最底层的东西啊。
        //做减法
    }
}

enum Season{
    SPRING("春天","我爱你春天"),SUMMER("夏天","夏天的风吹动");


    private String name;
    private String dsc;

    @Override
    public String toString() {
        return "Season{" +
                "name='" + name + '\'' +
                ", dsc='" + dsc + '\'' +
                '}';
    }

    Season(String name, String dsc) {
        this.name = name;
        this.dsc = dsc;
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

了解什么是枚举(enumeration) 的相关文章

  • 了解什么是枚举(enumeration)

    1 枚举是一组常量的集合 还可以看成包含有限特定的对象 2 自定义枚举的步骤 xff1a 将构造器私有化private将get方法拿掉在类的内部直接创建固定的对象 xff0c 比如 xff1a public static Season SP
  • 循环遍历值或注册表项.._winreg Python

    我将如何循环通过all the values使用 Python 模块 winreg 的 Windows 注册表项 我有可以执行我想要的操作的代码 但它是针对指定注册表项的子项的 这是代码 from winreg import t OpenK
  • Python 中的枚举无法按预期工作

    我在 Python 的 Enum 类中发现了一个非常奇怪的行为 所以枚举类型很简单 from enum import Enum Analysis Enum Analysis static dynamic 因此 我在步骤对象中使用此枚举类型
  • WSDL、Enums 和 C#:仍然很模糊

    我试图在网上查找这一点 但所有 WSDL 示例似乎都没有真正解释我是否应该将事物标记为 WSDL 中的基本类型字符串或 int 基本上 我正在尝试制作 WSDL 以便可以表示枚举 我心里已经有一个 C 枚举 我想将它匹配到 public e
  • Objective-C 2.0 和快速枚举抛出异常

    我有一个类似于以下内容的代码块 for NSDictionary tmp in aCollection if bar valueForKey id isEqualToString tmp valueForKey id break else
  • XSLT:从 xsd 获取枚举

    我在 xsd 文件中有这个枚举
  • PHP 中的枚举

    我知道 PHP 还没有原生枚举 但我已经习惯了 Java 世界中的它们 我很乐意使用枚举来提供 IDE 的自动完成功能可以理解的预定义值 常量可以解决问题 但是存在命名空间冲突问题 或者实际上because 它们是全球性的 数组不存在命名空
  • 从 .net 中的 xsd 架构文件中提取枚举值

    如何使用 net 以编程方式从 xsd 架构文件中提取元素的枚举约束值 例如 我想从以下 xsd 中提取 奥迪 高尔夫 和 宝马
  • 是否可以在 PostgreSQL 中将枚举转换为文本

    是否可以将 postgresql 模式中声明的枚举转换为文本 以便我可以对枚举列使用 like 子句 您可以将枚举投射到text轻松地并在其上使用任何文本运算符 SELECT FROM table WHERE enumfield TEXT
  • Qt4 QSettings保存枚举值(例如Qt::CheckState)

    我想在 QSetting 中保存 QCheckBok 的状态 我可以将其值转换为 int 但也许存在更简单和正确的方法来做到这一点 这是我的代码 QSetting setting Qt CheckState checkState check
  • 我应该使用哪种分层模型?邻接、嵌套还是枚举?

    我有一个表 其中包含世界上所有地理位置及其关系的位置 这是一个显示层次结构的示例 您将看到数据实际上存储为所有三个 枚举路径 邻接表 嵌套集 数据显然也永远不会改变 以下是英国布莱顿地点的直系祖先的示例 该地点的 woeid 为 13911
  • C++“浮点枚举”

    我正在寻找使用 C 03 标准的解决方案 多年来我一直只能使用该版本的标准 C 11 的解决方案也受到欢迎 但不会被 接受 作为此问题的答案 这是一种简单 简洁的方法 可以将一组相关的常量浮点值表示为单一类型 类似于枚举 以确保类型安全 而
  • 如何在 SpriteKit 中使用 Swift 的“enumerateChildNodesWithName”?

    我正在使用 Swift 在 SpriteKit 中制作游戏 在 Objective C 中我可以使用以下方法 void enumerateChildNodesWithName NSString name usingBlock void SK
  • 使用包含 NSDictionary 的 NSMutableArray 进行快速枚举

    是否可以对包含 NSDictionary 的 NSArray 使用快速枚举 我正在运行一些 Objective C 教程 以下代码将控制台踢入 GDB 模式 NSMutableArray myObjects NSMutableArray a
  • 枚举集合时 PowerShell 和 C# 之间的差异

    这是 C 中的一个简单场景 var intList new List
  • 以有效的方式将哈希表转换回字符串数据

    我正在尝试以有效的方式将哈希表转换回键值对 目前我正在使用这个 kv hash GetEnumerator ForEach kv Name Value 有没有办法直接将哈希表转换为键值对 或者我的意思是字符串数据 有ConvertFrom
  • 使用 java 泛型迭代枚举值

    我试图找到一种在使用泛型时迭代枚举值的方法 不确定如何执行此操作或是否可能 下面的代码说明了我想要做的事情 注意代码T values 在以下代码中无效 public class Filter
  • 枚举实用程序库

    我正在寻找一个开源库或用于在 Net 中使用枚举类型的示例 除了人们用于 Enum 的标准扩展 TypeParse 等 之外 我还需要一种方法来执行操作 例如返回给定枚举值的 Description 属性值或返回具有 Description
  • Java 中枚举类型的强制初始化

    我试图找到一种方法来强制 Java 加载 初始化枚举类型 嵌套在包含静态 Map 的类中 这对我来说很重要 因为枚举类型有一个填充所述映射的构造函数 并且如果没有显式方法来初始化此枚举 则映射将保持为空 我尝试过使用Class forNam
  • 有没有一种简单的方法可以在 Java 中按字母顺序排列字符串枚举?

    就像标题说的那样 我尝试用 List 上的 Collections sort 和 ArrayList 的 sort 函数搞乱一些 但我永远无法将其解析回枚举 Thanks EDIT 这是一些伪代码和进一步的解释 我的目标是从哈希表中获取ke

随机推荐

  • linux压测工具stress和stress-ng下载

    1 下载 2020 5 16实测以下地址能下载 stress https fossies org linux privat stress 1 0 4 tar gz stress ng https aur tuna tsinghua edu
  • 设备树Device Tree详解

    原文 xff1a https www cnblogs com aaronLinux p 5496559 html 目录 1 设备树 xff08 Device Tree xff09 基本概念及作用 2 设备树的组成和使用 2 1 DTS和DT
  • 十六进制与ascii码互转 C语言实现

    十六进制与ascii码互转 C语言实现 1 ascii转16进制 func char to hex desc convert ascii to 16 hex input ascii return hex unsigned char char
  • Android 11.0 支持exFAT文件系统

    Android 11 0 支持exFAT文件系统 U盘常见文件系统类型有FAT32 NTFS exFAT xff0c Android默认支持FAT32 一般也有NTFS类型编译选项 xff0c 但是exFAT由于版权或者其他原因 xff0c
  • repo sync遇到warning: project ‘repo‘ branch ‘stable‘ is not signed

    warning project 39 repo 39 branch 39 stable 39 is not signed This can happen on Linux and Mac I 39 ve personally experie
  • C语言单链表基本操作总结

    C语言单链表基本操作 本文是参考他人实现的C语言单链表 xff0c 对多篇博文整理的结果 xff0c 仅作为学习笔记 文末有参考出处 1 单链表定义 链表是通过一组任意的存储单元来存储线性表中的数据元素 xff0c 这些存储单元可以是连续的
  • 开源项目-类似58同城的项目启动

    已经进入编程这行已经3年 xff0c 最近想做一个自己的开源项目 xff0c 最后选来选去 xff0c 选中了类似58同城的功能的项目作为开始 下面是一些列的工作 xff0c 里面会体系我是怎样把这个项目做出来 xff0c 包括思路 技术
  • CMakeLists完整解析(一)

    CMakeLists完整解析 xff08 一 xff09 首先 xff0c 我们先通过介绍一下相关的核心概念来引入CMakeLists 1 gcc make和cmake gcc xff08 GNU Compiler Collection x
  • FreeRTOS源码分析与应用开发08:任务通知

    目录 1 概述 1 1 任务通知概念 1 2 任务通知控制结构 2 发送任务通知 2 1 任务级发送 2 2 中断级发送 2 2 1 xTaskNotifyFromISR函数 2 2 2 vTaskNotifyGiveFromISR函数 3
  • 基于ROS机器人的3D物体识别与三维重建(一) 介绍篇

    基于ROS机器人的3D物体识别与三维重建 一 xff09 介绍篇 由来 xff1a 清理电脑硬盘 xff0c 发现了当时做毕设的一些资料 xff0c 所以打算整理一下资料和代码写成专栏 xff0c 记录下当时的暗金岁月 xff0c 尽管现在
  • WIFI模块实现网络连接

    WiFi模块连接 xff0c 通过串口调试助手来配置 STA 43 连接TCP Server 1 AT 43 CWMODE DEF 61 1 工作在单station模组 xff0c 设置参数保存到flash 2 AT 43 CWJAP DE
  • 关于飞机绕地球飞行一圈的加油问题

    已知 xff1a 每个飞机只有一个油箱 xff0c 飞机之间可以相互加油 xff0c 注意是相互 xff0c 没有加油机 xff0c 一箱油可供一架飞机绕地球飞半圈 问题 xff1a 为使至少一架飞机绕地球一圈回到起飞时的飞机场 xff0c
  • 【C/C++/QT/ 移植/导入Mavlink V2.0/Mavlink V1.0教程】

    提示 xff1a 本文针对的实例是Mavlink V2 0版本 xff0c Mavlink V1 0版本其实也是类似的的步骤 xff0c 选择的mavlink库不一样而已 官方链接放在此 xff1a Install MAVLink MAVL
  • 无需修改bios即可让任意主板实现NVME启动

    使用Clover四叶草引导加载NVMe驱动 除了对BIOS的硬改之外 xff0c 还有一种更安全的软件方案 xff1a 使用Clover四叶草引导加载NVMe驱动 Clover是著名的黑苹果引导软件 xff0c 这里借用它来实现对预引导 x
  • 如何将PX4 User Guide导出为PDF

    PX4 Autopilot User Guide PDF导出 如何将PX4 User Guide导出为PDF1 工具安装安装nodejs安装ebook conver安装svgexport安装gitbook 2 输出PX4 Guide文档下载
  • CentOS7 yum安装docker失败的看过来

    背景 在百度上搜到一些前辈关于安装docker教程 xff0c 例如 xff1a 点击打开链接 但都报出找不到源的信息 xff0c 估计导致该情况往往是国内使用外国源被和谐的原因吧 解决 1 使用阿里云的yum源 cd etc yum re
  • 持续交付(CD)与持续集成(CI)

    测试基础设施是指支持自动化测试运行 测试开发 测试管理以及与研发环境集成的综合性平台 敏捷测试离不开稳定 高效 准确的基础设施 xff0c 以满足对于持续测试 持续反馈的需要 xff1b 同时 xff0c 持续集成 持续交付和 DevOps
  • 树莓派c语言串口通讯程序

    在网上搜了很多关于树莓派串口通讯的例子 xff0c 但是都是用python写的 xff0c 虽然python很有名 xff0c 而且最近也在学习这门语言 xff0c 但是还是想用c语言实现一下 xff0c 因为需要用到整套系统里 xff0c
  • 怎么阅读论文,写心得体会

    收集资料 xff1a 阅读学术论文的心得体会 xff01 如何阅读学术论文 和上一篇类似大牛写论文的心得几年的写论文和审稿心得 文献阅读心得体会格式 xff1a 1 看论文题目 xff0c 做出论文类别判别 新理论 新方法 解决新问题 最高
  • 了解什么是枚举(enumeration)

    1 枚举是一组常量的集合 还可以看成包含有限特定的对象 2 自定义枚举的步骤 xff1a 将构造器私有化private将get方法拿掉在类的内部直接创建固定的对象 xff0c 比如 xff1a public static Season SP