IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Enum类中的常用方法 [Java] -> 正文阅读

[Java知识库]Enum类中的常用方法 [Java]

Enum类中的常用方法

Enum类的全类名 : java.lang.Enum

首先我们要知道enum关键字是定义枚举类的, 而使用enum关键字定义的枚举类都直接继承与java.lang.Enum类

这里我们就Enum类中的最常用的三个方法来进行一个说明

  • 这里我们要对Enum类中的方法进行举例分析,这里我们先给出一个相关的使用enum关键字定义的枚举类

    package 枚举类.枚举类的定义.enum关键字定义枚举类;
    
    //通过enum关键字定义枚举类
    public enum Season1 {
        /*
        1. 通过enum关键字定义枚举类时,首先我们上来就要提供当前枚举类的对象, 多个对象之间使用,(逗号)隔开,末尾对象使用;(封号结束)
    
        注意: 这里创建对象的时候省略了很多不重要的东西比如: new关键字, 变量类型 ,构造方法名
        补充: 这里如果是使用无参构造器创建对象的话那么()也可以省略
    
         */
        SPRING("春天","春暖花开"),
        SUMMER("夏天","夏日炎炎"),
        AUTUMN("秋天","秋高气爽"),
        WINTER("冬天","冰天雪地");
    
        /*
        后面的步骤就和我们自定义枚举类时一样
         */
    
        /*
        2. 声明Season1类的属性(常量), 使用private final关键字共同修饰
         */
        private final String seasonName;
        private final String seasonDesc;
    
        /*
        3. 私有化类的构造器,并给对象的属性赋值
    
        注意: 使用构造器赋值的方式可以让我们的每个对象都唯一存在一个常量
         */
        private Season1(String seasonName , String seasonDesc){
            this.seasonName = seasonName;
            this.seasonDesc = seasonDesc;
        }
    
        /*
        4. 其他诉求:
        4.1 获取枚举类对象的属性
         */
        public String getSeasonName(){
            return this.seasonName;
        }
        public String getSeasonDesc(){
            return this.seasonDesc;
        }
    
        /*
        4.2 根据需求提供toString()方法
    
        注意: 这里我们即使不重写toString()方法,输出此枚举类对象的时候也不会输出地址值,因为我们使用enum关键字定义的枚举类都是直接继承了
        java.lang.Enum类,而Enum类中重写了继承自Object类的toString()方法,Enum类中重写的toString()方法输出的就是枚举类对象所对应的常量名
         */
        @Override
        public String toString() {
            return "Season1{" +
                    "seasonName='" + seasonName + '\'' +
                    ", seasonDesc='" + seasonDesc + '\'' +
                    '}';
        }
    }
    

下面就是我们对这三个方法的分析

  1. toString()
    • 返回调用这个方法的枚举类对象的对象名
      • 所以我们使用enum关键字定义的枚举类没有特殊要求其实可以不用重写toString()方法
    • 这个方法是一个非静态方法

eg:

//这个Season1类就是我们上面给出的使用enum关键字定义的枚举类
Season1 summer = Season1.SUMMER;
/*
这里我们对summer对象输出的时候会默认的调用toString()方法,但是这里我们还是显示的进行了调用

这里输出的结果为: SUMMER
*/
System.out.println(summer.toString());
  1. values()
    • 通过枚举类直接调用此方法返回枚举类的对象数组, 也就是将枚举类的对象以一个一个数组元素合并成一个数组返回
    • 这个方法是一个静态方法
    • 该方法可以很方便地遍历所有枚举值

eg:

/*
这里的Season1类是通过enum关键字定义的枚举类,而使用enum关键字定义的枚举类都直接继承于Enum类,所以这里通过Season1类调用的values()方法其实是声明在Enum类中的
*/
Season1 [] values = Season1.values();
for(int i = 0; i < values.length ; i++){
    System.out.println(values[i]);
}

eg:

  • 在学习多线程中我们曾经学到Thread类中有一个内部类State,State类就是通过enum关键字定义的枚举类,在State类中定义了线程运行的几种状态
Thread.State [] values = Thread.State.values();
for(int i = 0; i < values.length ; i++){
    System.out.println(values[i])
}
  1. valueof(String objName)
    • 使用枚举类调用此方法.可以把一个字符串转换为对应的同名的枚举类对象
    • 这个方法是一个静态方法

注意: 要求字符串必须是调用此方法的枚举类中的对象名,如果不是则会抛出一个运行时异常 : IllegalArgumentException(非法的参数异常)

eg:

/*
通过Season1类调用valueof()方法创建了一个WINTER对象并赋给了Season1类型的引用winter
*/
Season1 winter = Season1.valueof("WINTER");
//这里输出的自然就是winter引用对应的枚举类对象的对象名 : WINTER
System.out.println(winter);
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 11:45:25  更:2022-01-28 11:46:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:38:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码