Java(十五)枚举的使用

枚举的初级使用

    enum Day {
        MONDAY, TUESDAY, WEDNESDAY,
        THURSDAY, FRIDAY, SATURDAY, SUNDAY
    }

public static void main(String[] args){
            //直接引用
            Day day =Day.MONDAY;
            System.out.println("day:"+day);
        }

直接引用枚举的值即可,这便是枚举类型的最简单模型。

枚举的进阶使用

向enum类添加方法与自定义属性和构造函数 重新定义一个日期枚举类,带有desc成员变量描述该日期的对于中文描述,同时定义一个getDesc方法,返回中文描述内容,自定义私有构造函数,在声明枚举实例时传入对应的中文描述,代码如下:

enum Day2 {
    MONDAY("星期一", 1),
    TUESDAY("星期二", 2),
    WEDNESDAY("星期三", 3),
    THURSDAY("星期四", 4),
    FRIDAY("星期五", 5),
    SATURDAY("星期六", 6),
    SUNDAY("星期日", 7);//记住要用分号结束

    private String desc;//文字描述
    private Integer code; //对应的代码

    /**
     * 私有构造,防止被外部调用
     *
     * @param desc
     */
    private Day2(String desc, Integer code) {
        this.desc = desc;
        this.code = code;
    }

    /**
     * 定义方法,返回描述,跟常规类的定义没区别
     *
     * @return
     */
    public String getDesc() {
        return desc;
    }

    /**
     * 定义方法,返回代码,跟常规类的定义没区别
     *
     * @return
     */
    public int getCode() {
        return code;
    }
}


public static void main(String[] args){
        for (Day2 day:Day2.values()) {
            System.out.println("name:"+day.name()+
                    ",desc:"+day.getDesc());
        }
    }

项目案例

使用1

package com.lingo.hkdemo.carpartition;

/**
 * @author watson
 * @date 2021/7/13 15:56
 * @Description: TODO
 **/
public enum IPConfig {

//    m_sDeviceIP2("192.168.11.102", 2);

    //ip
//    m_sDeviceIP1("192.168.11.101", "{'latitude':36.006666,'longitude':120.284131}"),
//    m_sDeviceIP2("192.168.11.102", "{'latitude':36.026801,'longitude':120.284258}"),
//    m_sDeviceIP3("192.168.11.103", "{'latitude':36.039355,'longitude':120.283312}"),
//    m_sDeviceIP4("192.168.11.104", "{'latitude':36.059462,'longitude':120.293327}"),
//    m_sDeviceIP5("192.168.11.105", "{'latitude':36.061874,'longitude':120.296227}"),
//    m_sDeviceIP6("192.168.11.106", "{'latitude':36.065411,'longitude':120.304386}"),
//    m_sDeviceIP7("192.168.11.107", "{'latitude':36.038662,'longitude':120.284171}"),
//    m_sDeviceIP8("192.168.11.108", "{'latitude':36.02739,'longitude':120.284945}"),
//    m_sDeviceIP9("192.168.11.109", "{'latitude':36.06279,'longitude':120.301487}"),
//    m_sDeviceIP10("192.168.11.110", "{'latitude':36.005266,'longitude':120.284635}");;

    m_sDeviceIP1("192.168.11.101", "36.006666-120.284131"),
    m_sDeviceIP2("192.168.11.102", "36.026801-120.284258"),
    m_sDeviceIP3("192.168.11.103", "36.039355-120.283312"),
    m_sDeviceIP4("192.168.11.104", "36.059462-120.293327"),
    m_sDeviceIP5("192.168.11.105", "36.061874-120.296227"),
    m_sDeviceIP6("192.168.11.106", "36.065411-120.304386"),
    m_sDeviceIP7("192.168.11.107", "36.038662-120.284171"),
    m_sDeviceIP8("192.168.11.108", "36.02739-120.284945"),
    m_sDeviceIP9("192.168.11.109", "36.06279-120.301487"),
    m_sDeviceIP10("192.168.11.110", "36.005266-120.284635");;

    String ip;
    String code;

    IPConfig(String ip, String code) {
        this.ip = ip;
        this.code = code;
    }

    public String getIp() {
        return ip;
    }

    public String getCode() {
        return code;
    }
}

class sdf {
    public static void main(String[] args) {
        IPConfig[] values = IPConfig.values();
        String name = values[0].name();
        System.out.println(name);

//        String code = IPConfig.valueOf("m_sDeviceIP9").getCode();
//        System.out.println(code);

        switch ("m_sDeviceIP9") {
            case "sf":
                System.out.println("dfa");
                break;
            case "m_sDeviceIP9":
                String codes = IPConfig.valueOf("m_sDeviceIP9").getCode();
                System.out.println(codes);
                break;
        }
    }
}

使用2

 for (IPConfig value : IPConfig.values()) {
            String m_sDeviceIP = value.getIp();
            //线程异步,
            CompletableFuture completableFuture = CompletableFuture.runAsync(() -> {
                init(m_sDeviceIP);
            }, MyThreadPool.executorService);
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

研程序笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值