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;
}

本文探讨了在Java中定义连续且不重复的常量ID的两种方法,并对比了它们的特点及适用场景。方法1利用静态变量递增保证ID唯一性,但不适用于switch语句;方法2直接指定ID值,易于理解和使用,但需手动确保ID不重复。
1286

被折叠的 条评论
为什么被折叠?



