Java系列文章目录
一、前言
- 学习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,要确保有合适的默认值或处理逻辑。
(后续有遇到问题再添加)
声明:如本内容中存在错误或不准确之处,欢迎指正。转载时请注明原作者信息(麻辣香蝈蝈)。