java中的常量定义 final 的问题解决方法

时间:2021-05-22

Java 中我们常常需要定义一些常量ID,ID值为连续不重复值

方法1:, 方便的定义,方便增减ID 非常方便, 程序保证不会有重复的ID

public static class HandleMessage{

// 常量这样定义, switch 语句过不去

final static int HM_USER = 0x100;

private static int _id = 1;

public final static int HM_INIT_ERROR = HM_USER + ++_id;

public final static int HM_INIT_COMPLETE = HM_USER + ++_id;

方法2, 定义较死板,增减ID 需要注意,是否有重复的ID,由定义者来保证,多人开发时这个很难保证,

public static class HandleMessage{

final static int HM_USER = 0x100;

public final static int HM_INIT_ERROR = HM_USER + 1;

public final static int HM_INIT_COMPLETE = HM_USER + 2;


代码中,

switch(id){

case HandleMessage.HM_INIT_ERROR:

//方法1 无法编译提示错误, case expressions must be constant expressions

//方法2 正常

break;

}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章