第六章 枚举
概念
枚举 : 对象是可数的确定的特殊类型
注意事项
-
-
枚举类的构造器必须是私有的.
-
枚举类型不能创建对象
-
根据常量对象名获取对应的对象, 大小写敏感
enum TrafficSignal {
//public static final TrafficSignal STOP = new TrafficSignal(60);
//public static final TrafficSignal GO = new TrafficSignal(50);
//public static final TrafficSignal CAUTION = new TrafficSignal();
STOP(60), GO(50), CAUTION; // 后面如果还有东西, 则需要;
private int seconds = 30;
private TrafficSignal() {
}
// 枚举类的构造器必须是私有的.
private TrafficSignal(int seconds) {
this.seconds = seconds;
}
public int getSeconds() {
return seconds;
}
public void setSeconds(int seconds) {
this.seconds = seconds;
}
枚举和switch
public enum Week {
MON, TUE, WED, THU, FRI, SAT, SUN
}
public class WeekTest {
//在TestWeek类中声明方法void printWeek(Week week),根据参数值打印相应的中文星期字符串。
//然后以第2步中的枚举值调用printWeek方法,输出中文星期。
public void printWeek(Week week) {
switch (week) {
case MON:
System.out.println("星期一");
break;
case TUE:
System.out.println("星期二");
break;
case WED:
System.out.println("星期三");
break;
case THU:
System.out.println("星期四");
break;
case FRI:
System.out.println("星期五");
break;
case SAT:
System.out.println("星期六");
break;
case SUN:
System.out.println("星期日");
break;
}
}
//在main方法中从命令行接收一个1-7的整数(使用Integer.parseInt方法转换),
// 分别代表星期一至星期日,打印该值对应的枚举值,
public static void main(String[] args) {
int n = Integer.parseInt(args[0]);
if (n < 1 || n > 7) {
System.out.println("星期数据不对!! 请重试");
return;
}
Week[] arr = Week.values();
Week week = arr[n - 1];
System.out.println(week);
WeekTest weekTest = new WeekTest();
weekTest.printWeek(week);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App