Tho*_*4no 34
您可以做其他事情以及使用它们的原因,但我使用枚举的主要原因是为了防止参数无效的可能性.例如,想象一下以下方法:
public void doSomethingWithAMonth(int monthNum);
Run Code Online (Sandbox Code Playgroud)
这不仅含糊不清(月份索引从1开始,还是在0?),但您可以给出右下角的无效数据(13 +,负数).如果你有一个Month带有JAN,FEB等的枚举,则签名变为:
public void doSomethignWithAMonth(Month month);
Run Code Online (Sandbox Code Playgroud)
调用此方法的代码将更具可读性,并且无法提供无效数据.
ant*_*ant 10
我将Enums用于任何具有多种不变"类型"的东西.即一周中的几天.
为什么我在这种情况下不使用String是因为我不能在String上执行switch语句而且我可以在Enum上执行,因此对于每周的每一天我都可以执行特定的操作.
我在处理单例模式时也使用Enum,查看有效的Java书籍CH2(第2章创建和破坏对象),引用:
"虽然这种方法尚未被广泛采用,但单元素枚举类型是实现单例的最佳方式." 不会粘贴代码阅读这本书非常好.
如果我是你,我首先阅读java章节枚举类型中的思考.然后在有效的Java第6章之后,你应该是好的
最简单的定义 - An enum is just like any other class, with a predefined set of instances.
枚举的最佳部分是它可以在我们不能使用字符串的switch语句中使用.
和Enum是一个安全类型,因此您无法在运行时分配新值.
| 归档时间: |
|
| 查看次数: |
11716 次 |
| 最近记录: |