深入理解枚举类型之基础用法

本文深入探讨了Java中的枚举类型,包括其基础用法、定义常量、在switch语句中的应用、添加自定义方法、实现接口以及在接口中的定义。枚举类型提供了一种组织和增强常量的方式,与switch配合能提升代码可读性。此外,还介绍了EnumMap和EnumSet的使用,进一步展示了枚举类型的实用性和灵活性。
摘要由CSDN通过智能技术生成

     enum关键字,即枚举,是Java SE5添加的看似很小的特性,实际上特别的好用。

简介

    枚举类型是由关键字enum修饰的, 将一组常量的有限集合创建为新的数据类型。

enum常用方法

    T[] valuese()
           返回枚举常量数组
    int compareTo(E o)
          比较此枚举与指定对象的顺序。

    Class<E> getDeclaringClass()
          返回与此枚举常量的枚举类型相对应的 Class 对象。

    String name()
          返回此枚举常量的名称,在其枚举声明中对其进行声明。

    int ordinal()
          返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。

    String toString()
           返回枚举常量的名称,它包含在声明中。

    static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)
          返回带指定名称的指定枚举类型的枚举常量。
          如果不存在给定名字的示例,将会抛出异常IllegalArgumentException

 
    示例代码:
    public class TextEnum {
        public static void main(String[] args) {
            Enum colorRed = Color.RED;
            Enum colorBlue = Color.BLUE;
            Enum colorDark = Color.DARK;
            
             // 返回枚举常量数据组
            for (Color c: Color.values()) {
                System.out.println("values: " + c);
            }

            System.out.println("color = " + colorRed );
            //  compareTo比较此枚举与指定对象的顺序
            // A.compareTo(B)
            // 若A在B的后面,返回1
            // 若A在B的前面,返回-1
            System.out.println("compareTo : " + colorBlue.compareTo(colorRed));
            System.out.println("compareTo : " + colorBlue.compareTo(colorDark));
            // getDeclaringClass:返回与此枚举常量的枚举类型相对应的 Class 对象
            // 返回对象的名称包括包名
            System.out.println("getDeclaringClass: " + colorBlue.getDeclaringClass());
            // name:返回此枚举常量的名称,在其枚举声明中对其进行声明
            System.out.println("name: " + colorBlue.name());
            // ordinal:返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)
            System.out.println("ordinal: " + colorBlue.ordinal());
            // toString:返回枚举常量的名称,它包含在声明中
            System.out.println("toString: " + colorBlue.toString());
            // valueOf:返回带指定名称的指定枚举类型的枚举常量
            System.out.println("valueOf: " + Enum.valueOf(Color.class, "RED"));
        }
    }
    // Log打印
    values: RED
    values: BLUE
    values: DARK
    color = RED
    compareTo : 1
    compareTo : -1
    g
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值