由于某些原因,我开始非常喜欢在代码中使用C#和Java枚举:
- 它们比整数,字符串或布尔标志集更具类型安全性。
- 它们导致更具可读性的代码。
- 将枚举设置为无效值比使用int或字符串更困难。
- 它们使发现变量或参数的允许值变得容易。
- 我读过的所有内容都表明它们在C#和大多数JVM中的表现与整数一样好。
但是,Android框架有很多情况需要传递各种类型的标志,但是似乎没有一个使用枚举。在那里我会认为他们的使用将是有益的一对夫妇的例子是Toast.LENGTH_SHORT
/Toast.LENGTH_LONG
和View.GONE
,View.VISIBLE
等等。
为什么是这样?枚举在Dalvik中的表现是否比简单整数差?还有其他我不知道的缺点吗?