未分類 2 9 月 2020 常量类和枚举分别适用哪些场景? 常量类和枚举分别适用哪些场景? 資深大佬 : Vimax 15 哪些业务场景更推荐使用常量类 哪些业务场景更推荐使用枚举 大佬有話說 (9) 資深大佬 : sweetsorrow211 1.当常量数量不确定时使用类常量; 2.当常量数量确定时使用枚举; 3.建议将类常量替换为接口常量; 4.建议将枚举替换为 ImmutableMap; 主 資深大佬 : Vimax @sweetsorrow211 非常感谢。 資深大佬 : playboy0 @sweetsorrow211 effectivejava 说接口常量是不良习惯啊,接口只能用来定义类型 資深大佬 : nl101531 枚举是强类型,你需要类型约束,就上枚举。如果只是记录到一个统一位置,那就用常量 資深大佬 : talen666 @playboy0 但是在接口里,可以省略 3 个关键字,不是很舒服吗 資深大佬 : SingeeKing 我也更喜欢把相关常量定义在接口,不过 sonarlint 直接禁止 資深大佬 : SoloCompany 1. 概念上应该只有常量不存在常量类2. 如果一个类上面定义的全是常量, 那么通常这个应该是一个枚举类3. 枚举类上也可以定义常量, 关键还是看互相之间的逻辑关联 資深大佬 : passerbytiny 用 WHITE 作为# FFFFFF 的别名,这是常量。 只能从 WHITE 、BLACK 中选一个,这是枚举。 此外,给枚举定义额外的值,这不是枚举的本意,是 Java 附加的特性,最好不要用,巨坑。 資深大佬 : zhady009 @passerbytiny 哪里坑?