zoukankan      html  css  js  c++  java
  • 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;
    }
    }

    结果:

     

  • 相关阅读:
    nacos安装配置和部署教程
    springcloudstream整合rabbitmq
    Springboot整合swagger2
    git命令详解
    Mybatis 注解开发传入List 两种方式接收方式 在IN场景中
    java 根据时间段查询数据库
    stream分页
    201521123068《Java程序设计》第1周学习总结
    201521123027 《JAVA程序设计》第二周学习总结
    201521123027 《JAVA程序设计》第一周学习总结
  • 原文地址:https://www.cnblogs.com/oukele/p/9477441.html
Copyright © 2011-2022 走看看