Java系列文章目录
文章目录
- Java系列文章目录
- 一、前言
- 二、学习内容:
- 三、问题描述
- 四、解决方案:
- 五、总结:
- 5.1 学习总结:
一、前言
- 学习Enum类的笔记
二、学习内容:
- Eunm类的实操
三、问题描述
- Eunm枚举的使用
四、解决方案:
- 枚举用来定义一组常量
- 跟其他类的使用不同
- 枚举的字段和方法
五、总结:
5.1 学习总结:
枚举的基本定义
枚举通过关键字 enum 定义,语法如下:
public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}
特点
- 类型安全:枚举提供了一种类型安全的方式来定义常量,避免了使用 int 或 String 常量带来的潜在错误。
- 单例:每个枚举常量都是一个唯一的实例,不会被重新创建。
- 可以添加字段和方法:可以为枚举定义字段、构造器和方法。
- 枚举的字段和方法可以在枚举中定义
属性和方法:
public enum Planet { MERCURY(3.303e+20, 2.439e6), VENUS(4.869e+24, 6.052e6), EARTH(5.976e+24, 6.378e6), MARS(6.421e+23, 3.397e6); private final double mass; // in kilograms private final double radius; // in meters Planet(double mass, double radius) { this.mass = mass; this.radius = radius; } public double getMass() { return mass; } public double getRadius() { return radius; }
}
应用场景
- 定义固定的一组常量,如星期、颜色、状态等。
- 替代常量配置,增强可读性和类型安全。
- 在开关(switch)语句中,枚举常量比字符串更高效和安全。
使用 switch 语句:
可以在 switch 语句中使用枚举,显著增加代码可读性:
Day day = Day.MONDAY; switch (day) { case MONDAY: System.out.println("Start of the week!"); break; case FRIDAY: System.out.println("End of the week!"); break; default: System.out.println("Midweek");
}
方法:
- values():返回枚举常量的数组。
- valueOf(String name):根据常量名获取枚举常量实例。
for (Day d : Day.values()) { System.out.println(d);
} Day day = Day.valueOf("MONDAY");
枚举的最佳实践:
- 继承:枚举不能继承自其他类,但可以实现接口。
- 保持简单:尽量让枚举只包含常量,复杂逻辑应放在其他类中实现。
- 使用命名规则:枚举常量通常使用全部大写字母。
- 避免使用 null:枚举本身不能是 null,要确保有合适的默认值或处理逻辑。
(后续有遇到问题再添加)
声明:如本内容中存在错误或不准确之处,欢迎指正。转载时请注明原作者信息(麻辣香蝈蝈)。