java常量类怎么写_java常量类的实现该如何编写?

除了常量池,java中还有常量类,那么,常量类是做什么用的呢?小伙伴们知道吗?本篇文章就来听小编讲解讲解。

类常量

代码:public class ResponseCode

{

/** 系统处理正常 */

public static final int SUCCESS_HEAD = 0;

/** 系统处理未知异常 */

public static final int EXCEPTION_HEAD = 1;

/** JSON解析错误 */

public static final int JSON_RESOLVE = 2;

/** 类型不匹配 */

public static final int TRANSTYPE_NO = 3;

/** Head - messageID未赋值 */

public static final int HEAD_messageID = 4;

/** Head - timeStamp未赋值 */

public static final int HEAD_timeStamp = 5;

/** Head - messengerID未赋值 */

public static final int HEAD_messengerID = 6;

/** Head - transactionType 未赋值 */

public static final int HEAD_transactionType = 7;

/** digest校验不通过 */

public static final int HEAD_DIGEST = 8;

/** src校验不通过 */

public static final int HEAD_SRC_NULL = 10;

/** 协议包含非法字符 */

public static final int ILLEGAL_MESSAGE = 11;

/** 数据库异常 */

public static final int DATABASE_EXCEPTION = 9;

public static final Map  RESP_INFO = new HashMap  ();

static

{

// Head 相关

RESP_INFO.put(SUCCESS_HEAD, "系统处理正常");

RESP_INFO.put(EXCEPTION_HEAD, "系统处理未知异常");

RESP_INFO.put(JSON_RESOLVE, "JSON解析错误");

RESP_INFO.put(TRANSTYPE_NO, "类型不匹配");

RESP_INFO.put(HEAD_messageID, "messageID未赋值");

RESP_INFO.put(HEAD_timeStamp, "timeStamp未赋值");

RESP_INFO.put(HEAD_messengerID, "messengerID未赋值");

RESP_INFO.put(HEAD_transactionType, "transactionType未赋值");

RESP_INFO.put(HEAD_DIGEST, "digest校验不通过");

RESP_INFO.put(DATABASE_EXCEPTION, "数据库异常");

RESP_INFO.put(HEAD_SRC_NULL, "src未赋值");

RESP_INFO.put(ILLEGAL_MESSAGE, "协议包含非法字符");

}

}

枚举

所有的枚举类都是Enum类的子类,所以可以使用枚举类调用Enum的方法。

代码:public enum Season

{

SPRING

, SUMMER

, AUTUMN

, WINTER

}

应用:可以直接使用属性,也可以调用Enum的方法如values方法System.out.println(Season.AUTUMN);

System.out.println(Season.values());

Season[] values = Season.values();

System.out.println(values[0]);

我们可以在枚举类中添加一些构造器、方法和域:

私有化构造器,构造器只是在构造枚举常量的时候被调用如SMALL(“S”)/**

* 衣服尺寸

*/

public enum Size

{

SMALL("S")

, MEDIUM("M")

, LARGE("L")

, EXTRA_LARGE("XL");

/**

* 缩写

*/

private String suoxie;

private Size(String suoxie)

{

this.suoxie = suoxie;

}

public String getSuoxie()

{

return suoxie;

}

public static void main(String[] args)

{

//1:toString()方法返回常量的名

System.out.println(Size.SMALL.toString()); //SMALL

//2:valueOf()

System.out.println(Size.valueOf("LARGE"));

//3:values:返回每个常量名

//SMALL MEDIUM LARGE EXTRA_LARGE

Size[] sizes = Size.values();

/*for (Size size : sizes) {

System.out.println(size);

}*/

//4:ordinal 返回常量的位置,从0开始

System.out.println(Size.LARGE.ordinal());

int i = Size.EXTRA_LARGE.compareTo(Size.EXTRA_LARGE);

System.out.println(i);

System.out.println(Size.LARGE.getSuoxie());

}

}

以上就是本篇文章的所有内容,如果想了解更多编程相关常见问题的话,就快请关注本网站吧。

推荐阅读:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值