• java 枚举类(简单使用)


    直接上代码

    用法一(常量):

    package com.ou.test;
    
    import com.sun.corba.se.impl.util.SUNVMCID;
    
    public class Enum {
        public static void main(String[] args) {
            Weekday day = Weekday.FIVE;
            System.out.println(day);//直接输出FIVE
        }
    }
    
    enum Weekday{
        ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN;
    }
    

    结果:

    看起来和上面的静态变量使用方式差不多,而且默认的toString方法返回的就是对应的名字。

    用法二(switch):

    package com.ou.test;
    public class Enum {
    public static void main(String[] args) {
    Color color = Color.GREEN;
    switch (color){
    case RED:
    color = Color.GREEN;
    break;
    case YELLOW:
    color = Color.RED;
    break;
    case GREEN:
    color = Color.YELLOW;
    break;
    }
    System.out.println(color);
    }

    }
    enum Color{
    GREEN, YELLOW, RED
    }

     结果:

     

    用法三:向枚举中添加新方法

    package com.ou.test;
    public class Enum {
    public static void main(String[] args) {
    System.out.println(Color.getName(3));
    System.out.println(Color.getIndex("绿色"));
    }

    }
    enum Color{
    RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
    //成员变量
    private String name;
    private int index;
    //构造方法
    Color(String name, int index) {
    this.name=name;
    this.index=index;
    }
    //普通的方法 (根据索引号来找值)
    public static String getName(int index){
    for (Color c:Color.values()){
    if (c.getIndex() == index){
    return c.name;
    }
    }
    return null;
    }
    //普通的方法 (根据值来找索引号)
    public static int getIndex(String name){
    for (Color c:Color.values()) {
    if (c.getName()==name){
    return c.index;
    }
    }
    return -1;
    }
    //get set
    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    public int getIndex() {
    return index;
    }

    public void setIndex(int index) {
    this.index = index;
    }
    }

    结果:

     

  • 相关阅读:
    php使用redis锁
    php接收json数据
    计算机中的二进制、八进制、十进制、十六进制
    mysql8导入myslq5 报错
    如何用最简单的方式解释依赖注入?依赖注入是如何实现解耦的?(通俗易懂)
    【运维】Linux进阶命令简记--Linux(3)
    springboot项目在docker容器中如何优雅关闭
    springboot项目接入sap与部署到docker遇到的问题实录
    如何解决springboot参数传中文乱码
    maven如何动态统一修改版本号
  • 原文地址:https://www.cnblogs.com/oukele/p/9477441.html
Copyright © 2020-2023  润新知