美文网首页小卜java
JAVA基础之枚举Enum

JAVA基础之枚举Enum

作者: 汤太咸啊 | 来源:发表于2021-12-11 21:54 被阅读0次
  1. 我整理了一些Enum的小例子,第一个是比较简单的,基本的枚举类型
public enum FlightCrowJob {
//先后顺序,越靠后,默认越大,因此POLIT值最大
    FLIGHT_ATTENDANT,
    COPOLIT,
    POLIT;
    public static void main(String[] args) {
        for (int i = 0; i < FlightCrowJob.values().length; i++) {
            System.out.println("每一个:"+FlightCrowJob.values()[i]);
        }
        System.out.println("转换为Enum:"+FlightCrowJob.valueOf("COPOLIT"));
        System.out.println("比大小:"+FlightCrowJob.POLIT.compareTo(FlightCrowJob.COPOLIT));
    }
}
//输出
每一个:FLIGHT_ATTENDANT
每一个:COPOLIT
每一个:POLIT
转换为Enum:COPOLIT
比大小:1
  1. 这个增加了一个自定义的名字。switch支持Enum
public enum FlightCrowJob {
    FLIGHT_ATTENDANT("Flight Attendant"),
    COPOLIT("First officer"),
    POLIT("Captain");
    private String title;

    public String getTitle() {
        return title;
    }

    FlightCrowJob(String title) {
        this.title = title;
    }

    public static void main(String[] args) {
        System.out.println(FlightCrowJob.POLIT.getTitle()+" "+FlightCrowJob.POLIT.name());
        switch (FlightCrowJob.POLIT) {
    case POLIT:
        System.out.println("Pilot");
        break;
    case COPOLIT:
        System.out.println("Copolit");
        break;
    case FLIGHT_ATTENDANT:
        System.out.println("Attendant");
        break;
}
    }
}
//输出
Captain POLIT
Pilot
  1. 后边这个略微复杂点,增加了id,名字以及具体如何使用的方式,通过Rest接口调用,直接创建的几种方式
public enum Color {
    RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
    // 成员变量
    private String name;
    private int id;
    // 构造方法
    private Color(String name, int id) {
        this.name = name;
        this.id = id;
    }
    // 普通方法
    public static String getName(int id) {
        for (Color c : Color.values()) {
            if (c.getId() == id) {
                return c.name;
            }
        }
        return null;
    }
    // get set 方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
}
  1. Controller的Get方式请求,注意传递的枚举的方式
@GetMapping(value = "/test")
    public Res test(@RequestParam Color color) throws Exception{
        logger.info("count==="+color.getName());
        return new Res();
}
//实际通过color=RED就可以正确的传递枚举,对应上就好了RED("红色", 1)
http://127.0.0.1:9081/v2/test?color=RED
  1. 创建也容易,通过valueOf或者直接Color.RED就行
    public static void main(String[] args) {
        Color color = Color.valueOf("RED");
        System.out.println(color.getName());
        Color color1 = Color.RED;
        System.out.println(color1.getName());
        //由于我没有重写equals方式,所以目前是等价的,重写了就需要按照自定义的来判断了
        System.out.println(color==color1);
        System.out.println(color.equals(color1));
    }
//输出
红色
红色
true
true

相关文章

  • JAVA基础之枚举Enum

    我整理了一些Enum的小例子,第一个是比较简单的,基本的枚举类型 这个增加了一个自定义的名字。switch支持En...

  • java基础

    JAVA基础 基本类型 enum 枚举Size { SMALL , MEDIUM , LARGE , EXTRA ...

  • 枚举学习

    java enum枚举类 enum(枚举)类介绍 **java枚举类是一组预定义常量的集合,使用enum关键字声明...

  • 枚举

    枚举 wiki Java的枚举类型用法介绍 深入理解Java枚举类型(enum) 为什么要用enum? 学习计划 ...

  • 枚举

    枚举 [TOC] java.lang.Enum 类 如果没有显式地声明基础类型的枚举,那么意味着它所对应的基础类型...

  • Java枚举类

    枚举其实是个特殊的 Java 类,创建枚举需用enum关键字,枚举类都是java.lang.Enum的子类,jav...

  • Enum的简单用例

    详阅:Java 中的枚举 (enum)

  • Java枚举

    枚举 普通方式定义(int枚举模式) 枚举方式 Enum抽象类常见方法 Enum是所有 Java 语言枚举类型的公...

  • Java基础--Enum(枚举类)

    前言:该博客主要是记录自己学习的过程,方便以后查看,当然也希望能够帮到大家。 1. 为什么要引入枚举类 一个小案例...

  • Java基础系列-Enum深入解析

    原创文章,转载请标注出处:《Java基础系列-Enum深入解析》 一、概述 枚举就是一个语法糖效果。 定义一个枚举...

网友评论

    本文标题:JAVA基础之枚举Enum

    本文链接:https://www.haomeiwen.com/subject/nadlfrtx.html