Java枚举2

简介: Java枚举2

1、概述


为了间接的表示一些固定的值,Java就给我们提供了枚举,所谓枚举就是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内。


  • 当需要定义一组常量时,强烈建议使用枚举类


2、定义格式


  • 格式


public enum s {   
  枚举项1,枚举项2,枚举项3;
}
// 注意: 定义枚举类要用关键字enum


3、枚举的特点


  • 特点


  • 所有枚举类都是Enum的子类
  • 我们可以通过"枚举类名.枚举项名称"去访问指定的枚举项
  • 每一个枚举项其实就是该枚举的一个对象
  • 枚举也是一个类,也可以去定义成员变量
  • 枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略
  • 枚举类可以有构造器,但必须是private的,它默认的也是private的。
    枚举项的用法比较特殊:枚举("");
  • 枚举类也可以有抽象方法,但是枚举项必须重写该方法


4、枚举的方法


  • 方法介绍


image.png


示例代码


public enum Season {
    SPRING,SUMMER,AUTUMN,WINTER;
}
public class EnumDemo {
    public static void main(String[] args) {
    // String name() 获取枚举项的名称
        String name = Season.SPRING.name();
        System.out.println(name);
        System.out.println("-----------------------------");
    //  int ordinal() 返回枚举项在枚举类中的索引值
        int index1 = Season.SPRING.ordinal();
        int index2 = Season.SUMMER.ordinal();
        int index3 = Season.AUTUMN.ordinal();
        int index4 = Season.WINTER.ordinal();
        System.out.println(index1);
        System.out.println(index2);
        System.out.println(index3);
        System.out.println(index4);
        System.out.println("-----------------------------");
    // int compareTo(E o) 比较两个枚举项,返回的是索引值的差值
        int result = Season.SPRING.compareTo(Season.WINTER);
        System.out.println(result);//-3
        System.out.println("-----------------------------");
    // String toString()   返回枚举常量的名称
        String s = Season.SPRING.toString();
        System.out.println(s);
        System.out.println("-----------------------------");
    // static <T> T valueOf(Class<T> type,String name)
    // 获取指定枚举类中的指定名称的枚举值
        Season spring = Enum.valueOf(Season.class, "SPRING");
        System.out.println(spring);
        System.out.println(Season.SPRING == spring);
        System.out.println("-----------------------------");
    //       values()       获得所有的枚举项
        Season[] values = Season.values();
        for (Season value : values) {
            System.out.println(value);
        }
    }
}


相关文章
|
2天前
|
Java
java枚举的使用
java枚举的使用
27 0
|
2天前
|
安全 Java
Java 枚举(Enums)解析:提高代码可读性与易维护性
在 Java 中,实现抽象的另一种方式是使用接口。 接口定义 接口是一个完全抽象的类,用于将具有空方法体的相关方法分组:
74 1
|
2天前
|
存储 安全 Java
解密 Java 枚举的奥秘:超越常量的选择
解密 Java 枚举的奥秘:超越常量的选择
35 0
|
2天前
|
开发框架 Java 编译器
Java反射,枚举讲解
Java反射,枚举讲解
45 0
|
6月前
|
Kubernetes 数据可视化 安全
枚举探秘:Java中的神奇力量!
枚举探秘:Java中的神奇力量!
|
2天前
|
Java 索引
Java开发指南 | 第三十篇】Java 枚举(enum)
Java开发指南 | 第三十篇】Java 枚举(enum)
9 1
|
2天前
|
Java 索引
Java 枚举(enum)
5月更文挑战第7天
|
2天前
|
缓存 Java 开发者
如何高效优雅的使用java枚举
本文通过几种样例展示如何高效优雅的使用java枚举消除冗余代码。
|
2天前
|
存储 算法 Java
滚雪球学Java(20):Java泛型与枚举:提升代码灵活性与可读性
【4月更文挑战第9天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
30 1
滚雪球学Java(20):Java泛型与枚举:提升代码灵活性与可读性
|
2天前
|
安全 Java
Java枚举类
Java枚举类
12 1