在Java中,我们经常需要定义一些常量ID,ID值是连续的,不重复的。
方法一:方便定义和加减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:
//Method 1 cannot compile the prompt error. The case expression must be a constant expression.
//方法2正常
break;
}