跟王老师学枚举(三):枚举类API

跟王老师学枚举(三):枚举API

主讲教师:王少华   QQ群号:483773664

一、枚举类API

Java中声明的枚举类,均是java.lang.Enum类的孩子,它继承了Enum类的所有方法。常用方法:

name():返回此枚举常量的名称

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

valueof(Class enumClass, String name):返回带指定名称的指定枚举类型的枚举常量

valueof(String name):返回带指定名称的当前枚举类型

values() 此方法虽然在JDK文档中查找不到,但每个枚举类都具有该方法,它遍历枚举类的所有枚举值

二、枚举类API实例

public class EnumTest {
    public static void main(String[] args) {
        //返回枚举类型的名称
        System.out.println(Grade.A.name());
        //返回枚举类型的下标
        System.out.println(Grade.A.ordinal());
        //通过字符串获得枚举对象
        String value="D";
        //一、获得当前的枚举
        Grade grade = Grade.valueOf(value);
        System.out.println(grade.name()+grade.getValue()+grade.getLocString());
        //二、通过父类
        Grade grade2 = Enum.valueOf(Grade.class, value);
        System.out.println(grade2.name()+grade2.getValue()+grade2.getLocString());
         
        //获得所有的实例对象
        Grade[] grades = Grade.values();
        for (Grade g : grades) {
            System.out.println(g.getLocString()+"----");
        }
        //通过下标获得对象
        int index = 2;
        Grade[] grades2 = Grade.values();
        Grade grade3 = grades2[index];
        System.out.println(index+"----"+grade3.name());
    }
}
时间: 2024-10-17 23:43:26

跟王老师学枚举(三):枚举类API的相关文章

跟王老师学枚举(四):枚举类练习

跟王老师学枚举(四):枚举的练习 主讲教师:王少华   QQ群号:483773664 一.需求 请编写一个关于星期几的枚举WeekDay 要求: 枚举值:Mon,Tue,Wed,Thu,Fri,Sat,Sun 该枚举要有一个方法,调用该方法返回中文格式的星期(星期一...) 二.参考代码 package chapter11_04;   public enum WeekDay {     Mon{         @Override         public String getChinaWe

跟王老师学枚举(二):使用枚举

跟王老师学枚举(二):使用枚举 主讲教师:王少华   QQ群号:483773664 一.Java枚举 (一).枚举的关键字是enum 1 2 3 public enum Grade { } (二).枚举也是一个类 1.枚举的构造方法,默认是私有化的 2.枚举的实例对象,默认public static final 1 2 3 public enum Grade {     A,B,C,D,E } 3.枚举的实例对象的变量名,必须放在所有内容之前 二.使用枚举 (一)默认构造方法 1 2 3 pub

跟王老师学枚举(一)为什么需要枚举

跟王老师学枚举(一):为什么需要枚举 主讲教师:王少华   QQ群号:483773664 一.需求 一些方法在运行时,它需要的数据不能任意的,而必须是一定范围内的值.比如,有以下需求:学生的考试成绩只能分为A B C D E五个等级,不能是其他的等级 二.实现 (一)第一种方式:字符串 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 public class Student {     private String name;    //姓名

跟王老师学反射(三):Class类:获得Class对象

跟王老师学反射(三):Class类:获得Class对象 主讲教师:王少华   QQ群号:483773664 学习内容 掌握获得Class对象的三种方式 理解这三种方式的区别 一.获得Class对象 前面我们已经领略了反射的魅力了,我们知道,利用反射的关键是要获得"图纸"Class对象,那么怎么获得这个Class对象呢!!! 每个类被加载之后,系统会为该类生成一个对应的Class对象,通过该Class对象就可以访问JVM中的这个类.Java程序获得Class对象有如下三种方式: (一)调

跟王老师学反射(四):Class类:从Class类中获取信息

跟王老师学反射(四)Class类:从Class类中获取信息 主讲教师:王少华   QQ群号:483773664 学习内容 获得class类中的信息 根据我们以前学过的一个Java类有以下几部组成,如下代码所示 一.访问Class对应的类所包含的构造方法 (一)public Constructor<T> getConstructor(Class<?>... parameterTypes) 返回此Class对象所表示的类的指定public构造方法. parameterTypes参数是按

跟王老师学注解(三):元注解

跟王老师学注解(三):元注解 主讲教师:王少华   QQ群号:483773664 元注解,是用来修饰其他的注解定义.java.lang.annotation包下提供了4个元注解,分别是@Target注解.@Retention注解.@Documented注解以及@Inherited注解. 一.@Target (一)简介 用于指定被修饰的注解能用于修饰哪些程序元素 @Target注解类型有唯一的value作为成员变量,value的类型为java.lang.annotation.ElementType

跟王老师学反射(二):Java类的加载、连接和初始化

跟王老师学反射(二):Java类的加载.连接和初始化 主讲教师:王少华   QQ群号:483773664 学习内容: 了解类的加载.连接和初始化 一.类的生命周期 当我们编写一个java的源文件后,经过编译会生成一个后缀名为class的文件,这种文件叫做字节码文件,只有这种字节码文件才能够在java虚拟机中运行,java类的生命周期就是指一个class文件从加载到卸载的全过程.一个java类的完整的生命周期会经历加载.连接.初始化.使用.和卸载五个阶段,当然也有在加载或者连接之后没有被初始化就直

跟王老师学多态(三) 父类到子类的转换和instance of运算符

父类到子类的转换和instanceof运算符 主讲教师:王少华 QQ群号:483773664 学习目标: 1)   父类与子类转换:向下转换 2)   掌握instanceof运算符的使用 一.  问题:实现主人与宠物的玩耍功能 (一)   需求: 和狗玩接飞船游戏,狗的健康值减少10,与主人亲密度增加5 和企鹅玩游泳游戏,企鹅的健康值减少10,与主人亲密度增加5 (二)   实现思路 1)   给Dog类添加catchingFlyDisc方法,实现接飞盘功能: 2)   给Penguin类添加

跟王老师学Java三大特性(三):案例 QuickHit:确认输入并输出结果

案例 QuickHit:确认输入并输出结果 主讲教师:王少华   QQ群号:483773664 学习目标 完成Game类中的printResult方法的编写 一.需求说明 确认用户输入并输出结果 二.思路分析 确认玩家输入是否正确 如果输入不正确,则直接输出错误信息并退出程序 如果输入正确 如果超时,则直接输出错误信息并退出程序 如果不超时 计算玩家当前积分 计算 玩家已用的时间 输出当前玩家的级别.当前积分.已用时间: 判断用户是已经闯过最后一关并处理 三.参考代码 1 2 3 4 5 6 7