• 枚举类型的相关解析


    首先创建枚举类型的类对象。

     1 package lltse.base.enumdemo;
     2 
     3 public enum LevelEnum 
     4 {
     5     //创建枚举对象,调用有参构造函数实例化
     6     PERFECT("优秀")
     7     {
     8         //实现抽象方法
     9         public int getNum()
    10         {
    11             return 5;
    12         }
    13     },
    14     GOOD("良好")
    15     {
    16         //实现抽象方法
    17         public int getNum()
    18         {
    19             return 4;
    20         }
    21     },
    22     MID("中等")
    23     {
    24         //实现抽象方法
    25         public int getNum()
    26         {
    27             return 3;
    28         }
    29     },
    30     PASS("及格")
    31     {
    32         //实现抽象方法
    33         public int getNum()
    34         {
    35             return 2;
    36         }
    37     },
    38     NOPASS("不及格")
    39     {
    40         //实现抽象方法
    41         public int getNum()
    42         {
    43             return 1;
    44         }
    45     };
    46     
    47     private String name;
    48     
    49     //枚举无参构造函数
    50     private LevelEnum()
    51     {
    52     }
    53     
    54     //枚举有参构造函数
    55     private LevelEnum(String name)
    56     {
    57         this.name = name;
    58     }
    59     
    60     
    61     public String getName()
    62     {
    63         return name;
    64     }
    65     
    66     //枚举抽象方法定义,要求创建对象的子类都需要实现该方法
    67     public abstract int getNum();
    68 }

    其次是枚举类型的测试类

     1 package lltse.base.enumdemo;
     2 
     3 public class EnumDemo 
     4 {
     5 
     6     public static void main(String args [])
     7     {
     8         testEnumLevel(LevelEnum.MID);
     9         
    10         
    11         //返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。 
    12         LevelEnum level1 = LevelEnum.PERFECT;
    13         System.out.println(""+level1.ordinal());
    14         
    15         //返回带指定名称的指定枚举类型的枚举常量
    16         System.out.println(LevelEnum.valueOf("GOOD").getName());
    17         
    18         //获取枚举类型的数组
    19         LevelEnum [] enums = LevelEnum.values();
    20         for(LevelEnum enum1 : enums)
    21         {
    22             System.out.println("name:>>>"+enum1.getName()+"num:>>>"+enum1.getNum());
    23         }
    24     }
    25 
    26     private static void testEnumLevel(LevelEnum level)
    27     {
    28         switch(level)
    29         {
    30             //此处可以使用byte short int char enum 几种数据类型
    31             case PERFECT:
    32                 //此处调用枚举的getName方法获取枚举名称,返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
    33                 System.out.println(""+level.getName()+">>>"+level.getNum()+"***"+level.ordinal());
    34                 break;
    35             case GOOD:
    36                 System.out.println(""+level.getName()+">>>"+level.getNum());
    37                 break;
    38             case MID:
    39                 System.out.println(""+level.getName()+">>>"+level.getNum()+"***"+level.ordinal());
    40                 break;
    41             case PASS:
    42                 System.out.println(""+level.getName()+">>>"+level.getNum());
    43                 break;
    44             case NOPASS:
    45                 System.out.println(""+level.getName()+">>>"+level.getNum());
    46                 break;
    47             default:
    48                 new RuntimeException("non");
    49         }
    50     }
    51 }
  • 相关阅读:
    .net(关于字符串的相等问题[比较重要])
    .net(基本数据类型,枚举类型,枚举字符串的相互转化)
    如何安全的读入一个整数或者浮点数
    .net(数组)
    什么是EAI?
    PowerShell 入门
    sql server 2005 如何删除前几条记录或重复记录
    如何查看客户端的IP地址,机器名,MAC地址,登陆名等信息
    sql server 2005 几个常用的存储过程或函数
    ASP.NET 母版页的加载顺序
  • 原文地址:https://www.cnblogs.com/lltse/p/5460298.html
Copyright © 2020-2023  润新知