我经常发现自己在Java中使用枚举来表示某个对象的一组潜在值。当我第一次了解枚举时,当时我认为它们只是一个为常量命名的工具,可以很容易地被静态常量字符串ENUM_VAL_NAME所取代。事实证明,Java枚举具有相当高级的特性,可以使代码干净、不易出错,功能强大。我们能够为枚举提供实例方法、构造函数和字段。接下来我们看下我们的枚举示例,Operation这个枚举表示一个Operation可以对两个值执行,并将生成一个结果。这是因为Java编译器知道上面的第一个问题,并且希望确保我们能够处理在不知情的情况下向Operation中添加了新枚举。还好,Java8用函数式编程为我们提供了一个干净的解决方案。首先,让我们把开关放在enum类中。现在让我们更进一步,通过使用函数式编程完全消除switch语句。
暂无评论