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;
    }
    }

    结果:

     

  • 相关阅读:
    第七周 10.11-10.17
    第六周 10.4-10.10
    2015 ACM/ICPC Asia Regional Hefei Online
    cryptopals S1-6
    cryptopals S1-5
    cryptopals S1-4
    Cryptopals S1-3
    Crptopals S1-2
    Crptopals S1-1
    anaconda the procedure entry point openssl_sk_new_reserve could not be located in the dynamic link library libssl-1_1-x64.DLL
  • 原文地址:https://www.cnblogs.com/oukele/p/9477441.html
Copyright © 2011-2022 走看看