常量

定义常量可以是interface或者class

  • interface image.png 使用的时候直接Constant.SUCCESS即可
  • class ==用public static final修饰== image.png 使用的时候直接 类名.变量 即可

枚举

image.png

使用时Sex.MALE.getCode()可以获取男生code

对比总结

1.枚举 ①.类型安全:枚举直接限制了可能的取值范围,这避免了非法值的使用错误 ②.自我文档化:每个枚举成员都有具体的名称,易于理解 ③.易于维护和扩展:当需要添加新的性别选项或更改现有项时,直接在枚举中操作即可, 不需要全局搜索替换可能影响到的地方。 2.常量 ①.类型安全性降低:没有枚举的保护,任何整数都可能被误用为性别代码。 ②.维护困难:没有直观的方式限制可能的值,且修改时需要跨文件检查和更新。 ③.缺乏自描述性:没有直接的方式知道某个数值对应的具体含义,依赖外部文档或代码注释。

总结:使用枚举(特别是带有附加信息和行为的枚举)能够提高代码的清晰度、健壮性和可维护性,相比于简单常量,它是处理固定集合的优选方式