java enum switch_java 枚举enum的用法(与在switch中的用法)

实际开发中,很多人可能很少用枚举类型。更多的可能使用常量的方式代替。但枚举比起常量来说,含义更清晰,更容易理解,结构上也更加紧密。看其他人的博文都很详细,长篇大论的,这里理论的东西不说了,一起看看在实际开发中比较常见的用法,简单明了。

看看枚举类

/**

* 操作码类

* @author kokJuis

* @version 1.0

* @date 2017-3-6

*/

public enum Code {

SUCCESS(10000, "操作成功"),

FAIL(10001, "操作失败"),

private int code;

private String msg;

//为了更好的返回代号和说明,必须呀重写构造方法

private Code(int code, String msg) {

this.code = code;

this.msg = msg;

}

public int getCode() {

return code;

}

public void setCode(int code) {

this.code = code;

}

public String getMsg() {

return msg;

}

public void setMsg(String msg) {

this.msg = msg;

}

// 根据value返回枚举类型,主要在switch中使用

public static Code getByValue(int value) {

for (Code code : values()) {

if (code.getCode() == value) {

return code;

}

}

return null;

}

}

使用:

//获取代码

int code=Code.SUCCESS.getCode();

//获取代码对应的信息

String msg=Code.SUCCESS.getMsg();

//在switch中使用通常需要先获取枚举类型才判断,因为case中是常量或者int、byte、short、char,写其他代码编译是不通过的

int code=Code.SUCCESS.getCode();

switch (Code.getByValue(code)) {

case SUCCESS:

//......

break;

case FAIL:

//......

break;

}

补充知识:Java Switch支持的数据类型及 枚举在Switch case中的使用

最近在学习Groovy,发现Groovy中的Switch case 比Java中的Switch case强大,于是了解了Java中的Switch case支持的数据类型是有限的,包括int,char,String 和enum四种类型。

之前写android代码的时候,前面3中经常用,但是第4种类型没有使用过,于是尝试使用枚举类型来学些Switch case,代码如下,做个记录:

1、先定一个枚举类型:

package com.lwd;

public enum LwdColor {

yello(0,"#0xff00ff00"),

green(1,"#0xff0000ff"),

blue(2,"#0xffffff00");

private int value;

public int getValue() {

return value;

}

public void setValue(int value) {

this.value = value;

}

public String getDesc() {

return desc;

}

public void setDesc(String desc) {

this.desc = desc;

}

private String desc;

LwdColor(int value,String desc){

this.value = value;

this.desc = desc;

}

public static LwdColor getColorType(int type){

for(LwdColor lwdColors:LwdColor.values()){

if(lwdColors.getValue() == type){

return lwdColors;

}

}

return null;

}

}

枚举类中定义了3种颜色,分别是yello、green、blue,构造方法中定义的两个变量,分别是value和desc,value和desc分别对应枚举颜色中的key和value。 提供了一个静态方法,来根据传入的类型来获取对应的枚举值。

2、在Switch case中使用如下:

package com.lwd;

public class TestJava {

public static void main(String[] args){

LwdColor lwdColor = LwdColor.getColorType(0);

switch (lwdColor){

case yello:

System.out.println( lwdColor.getValue() + "的颜色值 == " + lwdColor.getDesc());

break;

}

}

}

以上这篇java 枚举enum的用法(与在switch中的用法)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值