| 演进 | 常量 → 枚举/值类 → 子类(行为差异大时) |
|---|---|
| 收益 | 非法取值在编译期被拦下 |
Java 示例
Java 示例
// 之前:用 int 编码血型
static final int O = 0;
static final int A = 1;
// 之后
enum BloodGroup { O, A, B, AB }用枚举、值类或子类取代魔法数字与字符串编码:取值集合受类型系统约束,比较与分支更安全;行为差异明显时再用子类分解编码行为。
| 演进 | 常量 → 枚举/值类 → 子类(行为差异大时) |
|---|---|
| 收益 | 非法取值在编译期被拦下 |
// 之前:用 int 编码血型
static final int O = 0;
static final int A = 1;
// 之后
enum BloodGroup { O, A, B, AB }