• day076:枚举


    目录

    一、枚举

    1.什么是枚举

    2.枚举的格式

    3.枚举的特点

    4.代码示例

    5.枚举常用方法


    一、枚举

    1.什么是枚举

    枚举:包含一些定义好的特定的值,比如星期、季节 

    2.枚举的格式

    格式:public enum 枚举类名{ 枚举项1,枚举项2,...; }

    3.枚举的特点

    • 1.所有的枚举类都是Enum的子类
    • 2.可以通过“枚举类名.枚举项名称”去访问指定的枚举项 
    • 3.每一个枚举项都是该枚举类的一个对象 
    • 4.枚举也是一个类,也可以定义成员变量 
    • 5.枚举的第一行必须是枚举项,最后的分号不建议省略 
    • 6.枚举类也可以有构造器,但必须是private的;枚举项的用法: 枚举("") 
    • 7.枚举类也可以有抽象方法,但枚举项必须重写该方法

    4.代码示例

    1. public class EnumDemo_02 {
    2. public static void main(String[] args) {
    3. //2.可以通过“枚举类名.枚举项名称”去访问指定的枚举项
    4. System.out.println(SeasonDemo_01.SPRING);
    5. System.out.println(SeasonDemo_01.SUMMER);
    6. System.out.println(SeasonDemo_01.AUTUMN);
    7. System.out.println(SeasonDemo_01.WINTER);
    8. //3.每一个枚举项都是该枚举类的一个对象
    9. SeasonDemo_01 spring = SeasonDemo_01.SPRING;//变量的类型是SeasonDemo_01类型
    10. //4.枚举也是一个类,也可以定义成员变量
    11. //5.枚举的第一行必须是枚举项,最后的分号不建议省略
    12. //6.枚举类也可以有构造器,但必须是private的;枚举项的用法: 枚举("")
    13. // 7.枚举类也可以有抽象方法,但枚举项必须重写该方法
    14. }
    15. }
    1. public enum SeasonDemo_01 {
    2. SPRING("春") {
    3. @Override
    4. public void show() {
    5. System.out.println(this.name);
    6. }
    7. //如果枚举类中有抽象方法,就必须在枚举项中重写
    8. }, SUMMER("夏") {
    9. @Override
    10. public void show() {
    11. System.out.println(this.name);
    12. }
    13. }, AUTUMN("秋") {
    14. @Override
    15. public void show() {
    16. System.out.println(this.name);
    17. }
    18. }, WINTER("冬") {
    19. @Override
    20. public void show() {
    21. System.out.println(this.name);
    22. }
    23. };
    24. public String name;
    25. //空参构造
    26. private SeasonDemo_01() {
    27. }
    28. //有参构造
    29. private SeasonDemo_01(String name) {
    30. this.name = name;
    31. }
    32. //抽象方法
    33. public abstract void show();
    34. }

    5.枚举常用方法

    • String name() 获取枚举项名称
      
    • int ordinal() 返回枚举项在枚举类中的索引值
      
    • int compareTo( E o) 比较俩个枚举项,返回的是索引值的差值
      
    • String toString() 返回枚举项的名称
      
    • static  valueOf(Class type, String name) 获取指定枚举类中的指定名称的枚举值
    • values() 获得所有的枚举项

    代码示例:

    1. public class EnumDemo {
    2. public static void main(String[] args) {
    3. //String name() 获取枚举项名称
    4. Season name = Season.SPRING;
    5. System.out.println(name);
    6. System.out.println("-------------------------------");
    7. //int ordinal() 返回枚举项在枚举类中的索引值
    8. int index1 = Season.SPRING.ordinal();
    9. int index2 = Season.SUMMER.ordinal();
    10. int index3 = Season.AUTUMN.ordinal();
    11. int index4 = Season.WINTER.ordinal();
    12. System.out.println(index1);
    13. System.out.println(index2);
    14. System.out.println(index3);
    15. System.out.println(index4);
    16. System.out.println("-------------------------------");
    17. //int compareTo( E o) 比较俩个枚举项,返回的是索引值的差值
    18. int result = Season.SPRING.compareTo(Season.WINTER);
    19. System.out.println(result);
    20. System.out.println("-------------------------------");
    21. //String toString() 返回枚举项的名称
    22. String s = Season.SPRING.toString();
    23. System.out.println(s);
    24. System.out.println("-------------------------------");
    25. //static valueOf(Class type, String name)
    26. //获取指定枚举类中的指定名称的枚举值
    27. Season spring = Enum.valueOf(Season.class, "SPRING");
    28. System.out.println(spring);
    29. System.out.println("-------------------------------");
    30. //values() 获得所有的枚举项
    31. Season[] values = Season.values();
    32. for (Season value : values) {
    33. System.out.println(value);
    34. }
    35. }
    36. }

  • 相关阅读:
    selenium元素定位 —— 提高篇 CSS定位元素
    【逻辑控制练习题+方法使用】
    C语言指针:多级指针
    Java中对象转型
    十九种卷积
    【Qt】之【项目】整理可参考学习的git项目链接(持续更新)
    C++ 图解二叉树非递归后序 + 实战力扣题
    网页大作业代码自取
    计算机毕业设计Java住房公积金筹集子系统的网站系统(源码+系统+mysql数据库+lw文档)
    Spring揭秘:AnnotationMetadata接口应用场景及实现原理!
  • 原文地址:https://blog.csdn.net/m0_57466457/article/details/128060950