|NO.Z.00084|——————————|BigDataEnd|——|Java&特殊类.V12|——|Java.v12|Enum类|概念|常用方法|

一、Enum类的概念和常用方法
### --- Enum类的概念和方法

~~~     ———>        所有的枚举类都继承自java.lang.Enum类,常用方法如下:
static T[] values() 返回当前枚举类中的所有对象
String toString() 返回当前枚举类对象的名称
int ordinal() 获取枚举对象在枚举类中的索引位置
static T valueOf(String str) 将参数指定的字符串名称装维当前枚举类的对象
int compareTo(Eo) 比较两个枚举对象在定义时的顺序
二、编程代码
package com.yanqi.task10;

/**
 * 编程实现方向枚举类的测试,调用从Enum类中继承下来的方法
 */
public class DirectionEnumTest {

    public static void main(String[] args) {

        // 1.获取DirectionEnum类型中所有的枚举对象
        DirectionEnum[] arr = DirectionEnum.values();
        // 2.打印每个枚举对象在枚举类型中的名称和索引位置
        for (int i = 0; i < arr.length; i++) {
            System.out.println("获取到的枚举对象名称是:" + arr[i].toString());
            System.out.println("获取到的枚举对象对应的索引位置是:" + arr[i].ordinal()); // 和数组一样下标从0开始
        }

        System.out.println("---------------------------------------------------------------");
        // 3.根据参数指定的字符串得到枚举类型的对象,也就是将字符串转换为对象
        //DirectionEnum de = DirectionEnum.valueOf("向下"); // 编译ok,运行发生IllegalArgumentException非法参数异常
        DirectionEnum de = DirectionEnum.valueOf("DOWN");
        //DirectionEnum de = DirectionEnum.valueOf("UP LEFT"); // 要求字符串名称必须在枚举对象中存在
        //System.out.println("转换出来的枚举对象名称是:" + de.toString());
        System.out.println("转换出来的枚举对象名称是:" + de); // 当打印引用变量时,会自动调用toString方法

        System.out.println("---------------------------------------------------------------");
        // 4.使用获取到的枚举对象与枚举类中已有的对象比较先后顺序
        for(int i = 0; i < arr.length; i++) {
            // 当调用对象在参数对象之后时,获取到的比较结果为 正数
            // 当调用对象在参数对象相同位置时,则获取到的比较结果为 零
            // 当调用对象在参数对象之前时,则获取到的比较结果为 负数
            System.out.println("调用对象与数组中对象比较的先后顺序结果是:" + de.compareTo(arr[i]));
        }

        System.out.println("---------------------------------------------------------------");
        // 5.使用数组中每个DirectionEnum对象都去调用show方法测试
        for (int i = 0; i < arr.length; i++) {
            arr[i].show();
        }
    }
}
三、编程代码
package com.yanqi.task10;

/**
 * 编程实现方向枚举类的测试,调用从Enum类中继承下来的方法
 */
public class DirectionEnumTest {

    public static void main(String[] args) {

        // 1.获取DirectionEnum类型中所有的枚举对象
        DirectionEnum[] arr = DirectionEnum.values();
        // 2.打印每个枚举对象在枚举类型中的名称和索引位置
        for (int i = 0; i < arr.length; i++) {
            System.out.println("获取到的枚举对象名称是:" + arr[i].toString());
            System.out.println("获取到的枚举对象对应的索引位置是:" + arr[i].ordinal()); // 和数组一样下标从0开始
        }

        System.out.println("---------------------------------------------------------------");
        // 3.根据参数指定的字符串得到枚举类型的对象,也就是将字符串转换为对象
        //DirectionEnum de = DirectionEnum.valueOf("向下"); // 编译ok,运行发生IllegalArgumentException非法参数异常
        DirectionEnum de = DirectionEnum.valueOf("DOWN");
        //DirectionEnum de = DirectionEnum.valueOf("UP LEFT"); // 要求字符串名称必须在枚举对象中存在
        //System.out.println("转换出来的枚举对象名称是:" + de.toString());
        System.out.println("转换出来的枚举对象名称是:" + de); // 当打印引用变量时,会自动调用toString方法

        System.out.println("---------------------------------------------------------------");
        // 4.使用获取到的枚举对象与枚举类中已有的对象比较先后顺序
        for(int i = 0; i < arr.length; i++) {
            // 当调用对象在参数对象之后时,获取到的比较结果为 正数
            // 当调用对象在参数对象相同位置时,则获取到的比较结果为 零
            // 当调用对象在参数对象之前时,则获取到的比较结果为 负数
            System.out.println("调用对象与数组中对象比较的先后顺序结果是:" + de.compareTo(arr[i]));
        }

        System.out.println("---------------------------------------------------------------");
        // 5.使用数组中每个DirectionEnum对象都去调用show方法测试
        for (int i = 0; i < arr.length; i++) {
            arr[i].show();
        }
    }
}
四、编译打印
D:\JAVA\jdk-11.0.2\bin\java.exe "-javaagent:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=54712:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath E:\NO.Z.10000——javaproject\NO.H.00001.javase\javase\out\production\javase com.yanqi.task10.DirectionEnumTest
获取到的枚举对象名称是:UP
获取到的枚举对象对应的索引位置是:0
获取到的枚举对象名称是:DOWN
获取到的枚举对象对应的索引位置是:1
获取到的枚举对象名称是:LEFT
获取到的枚举对象对应的索引位置是:2
获取到的枚举对象名称是:RIGHT
获取到的枚举对象对应的索引位置是:3
---------------------------------------------------------------
转换出来的枚举对象名称是:DOWN
---------------------------------------------------------------
调用对象与数组中对象比较的先后顺序结果是:1
调用对象与数组中对象比较的先后顺序结果是:0
调用对象与数组中对象比较的先后顺序结果是:-1
调用对象与数组中对象比较的先后顺序结果是:-2
---------------------------------------------------------------
贪吃蛇向上移动了一下!
贪吃蛇向下移动了一下!
左移了一下!
右移了一下!

Process finished with exit code 0

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

posted on   yanqi_vip  阅读(5)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示