Java中如何更好的使用枚举类型
分类:Android, Java, Java语言
阅读 (1,728)
Add comments
3月 152016
1. 使用enum类型:
在Java中有 enum类型可以用于枚举,但是每个enum的类型都是做为一个类来处理,对于要求效率较高的程序不是一个很好的选择,android官方也不推荐在应用开发中使用此类型。
2. 定义整形常量
就是定义static final的整形值,这样虽然效率高,但是不方便查看代码和进行方法参数的描述,如下面的代码虽然加了注释,但是如果常量很多,还是无法轻松定位到想要查看的常量,有多个名称相似的常量时还容易混淆,甚至使用了错误的常量。
1 2 3 4 5 6 7 8 9 10 11 |
//声音警告方式 public static final int ALERT_TYPE_SOUND = 0; //振动警告方式 public static final int ALERT_TYPE_VERBERITE = 1; //文本便签 public static final int NOTETYPE_TEXT = 0; //语音便签 public static final int NOTETYPE_VOICE = 1; //手写便签 public static final int NOTETYPE_HANDWRITE = 2; |
如下是常量做为方法的参数时的描述
1 2 3 4 5 6 7 8 9 10 |
/** * * @param notetype 便签类型,可能是以下几种定义中的一种 * @see Const.NOTETYPE_TEXT * @see Const.NOTETYPE_VOICE * @see Const.NOTETYPE_HANDWRITE */ public void showNote(int notetype){ } |
3. 在一个类中定义静态常量
将常量定义到一个类中,容易限制这些常量的范围,便于查看,而且在使用常量方法的方法描述里易于写注释,如下是常量的定义
1 2 3 4 5 |
public static final class NoteType{ public static final int TEXT = 0; public static final int VOICE = 1; public static final int HANDWRITE = 2; } |
而在方法描述中,只链接到Const.NoteType即可
1 2 3 4 5 6 7 |
/** * @param noteType 便签类型,类型的定义请查看Const.NoteType * @see Const.NoteType */ public void showNote(int noteType){ } |