java 枚举

  作者:记性不好的阁主

枚举代码:


package com.laoxu.enumeration.Test;


import lombok.Getter;

import java.util.Arrays;
import java.util.List;
import java.util.concurrent.TimeUnit;

/**
* 枚举示例
*/
public enum Enumeration {
;

/********************
* 方式一:简单模式 *
********************/
//固定常量
public static final String CLOSE = "0";

public static final String OPEN = "1";

public static final int SEND_FAIL = 1;

public static final int SEND_SUCCESS =0;

public static final TimeUnit DEFAULT_TIME_UNIT = TimeUnit.HOURS;

public static final Integer UNSTOP = 0;

public static final Integer STOP = 1;

//固定列表
public static List<Integer> MONTH= Arrays.asList(1,2,3,5,6,7,8,9,10,11,12);


/********************
* 方式二:级联模式 *
********************/
public enum STATUS {
;

/**
* 待支付
*/

public static final String TO_BE_PAID = "1";

/**
* 已购买
*/

public static final String ALREADY_PURCHASED = "2";

/**
* 支付超时
*/

public static final String PAYMENT_TIMEOUT = "3";

/**
* 发起退款
*/

public static final String INITIATE_A_REFUND = "13";

/**
* 已退款
*/

public static final String REFUNDED = "14";

/**
* 拒绝退款
*/

public static final String REFUSAL_OF_REFUND = "15";
}



/********************
* 方式三:枚举类 *
********************/
//商品为例
public enum Goods{


PENCEIL(1, "铅笔", "15.00", "能写出字"),
NOTEBOOK(2, "本子", "30.00", "记笔记"),
ERASER(3, "橡皮擦", "20.00", "擦除");



@Getter
private Integer id;
@Getter
private String goodsName;
@Getter
private String goodsPrice;
@Getter
private String goodsDescription;

Goods(Integer id, String goodsName, String goodsPrice, String goodsDescription){
this.id = id;
this.goodsName = goodsName;
this.goodsPrice = goodsPrice;
this.goodsDescription = goodsDescription;
}


//根据id获取枚举
public static Enumeration.Goods getGoods(Integer category) {
Enumeration.Goods[] values = values();
return Arrays.stream(values).filter(e -> e.id.equals(category)).findFirst().orElse(null);
}



}



}



使用枚举:



package com.laoxu.enumeration.Test;


public class test {

public static void main(String[] args) {
method1();
method2();
method3();
}
//方式一
public static void method1(){
System.out.println(Enumeration.CLOSE);
System.out.println(Enumeration.OPEN);
System.out.println(Enumeration.SEND_SUCCESS);
System.out.println(Enumeration.SEND_FAIL);
System.out.println(Enumeration.DEFAULT_TIME_UNIT);
System.out.println(Enumeration.UNSTOP);
System.out.println(Enumeration.STOP);

System.out.println(Enumeration.MONTH);
}


//方式二
public static void method2(){

System.out.println(Enumeration.STATUS.TO_BE_PAID);
System.out.println(Enumeration.STATUS.ALREADY_PURCHASED);
System.out.println(Enumeration.STATUS.PAYMENT_TIMEOUT);
System.out.println(Enumeration.STATUS.INITIATE_A_REFUND);
System.out.println(Enumeration.STATUS.REFUNDED);
System.out.println(Enumeration.STATUS.REFUSAL_OF_REFUND);
}



//方式三
public static void method3(){

System.out.println(Enumeration.Goods.PENCEIL);
System.out.println(Enumeration.Goods.PENCEIL.getId());
System.out.println(Enumeration.Goods.PENCEIL.getGoodsName());
System.out.println(Enumeration.Goods.PENCEIL.getGoodsPrice());
System.out.println(Enumeration.Goods.PENCEIL.getGoodsDescription());


System.out.println(Enumeration.Goods.NOTEBOOK);
System.out.println(Enumeration.Goods.NOTEBOOK.getId());
System.out.println(Enumeration.Goods.NOTEBOOK.getGoodsName());
System.out.println(Enumeration.Goods.NOTEBOOK.getGoodsPrice());
System.out.println(Enumeration.Goods.NOTEBOOK.getGoodsDescription());

System.out.println(Enumeration.Goods.ERASER);
System.out.println(Enumeration.Goods.ERASER.getId());
System.out.println(Enumeration.Goods.ERASER.getGoodsName());
System.out.println(Enumeration.Goods.ERASER.getGoodsPrice());
System.out.println(Enumeration.Goods.ERASER.getGoodsDescription());


System.out.println(Enumeration.Goods.getGoods(1));

}




}





相关推荐

评论 抢沙发

表情

分类选择