第38章 Java枚举 - 章节测试

测试你对Java枚举类型的掌握程度

测试信息

题目数量:10题
建议时间:15分钟
难度等级:中级
及格分数:70分
1
以下哪个是定义Java枚举的正确语法?

解析

Java枚举使用enum关键字定义,语法为public enum 枚举名 { 常量1, 常量2, ... }。选项B是正确的枚举定义语法。

2
枚举类型自动继承哪个类?

解析

所有Java枚举类型都自动继承java.lang.Enum类,这个类提供了name()ordinal()valueOf()等方法。

3
以下代码的输出结果是什么?
enum Day { MONDAY, TUESDAY, WEDNESDAY } System.out.println(Day.TUESDAY.ordinal());

解析

ordinal()方法返回枚举常量在枚举声明中的位置,从0开始计数。MONDAY是0,TUESDAY是1,WEDNESDAY是2。

4
关于枚举构造方法,以下说法正确的是?

解析

枚举构造方法必须是private的(可以省略private关键字),这确保了枚举常量只能在枚举内部创建,维护了枚举的单例特性。

5
以下哪个方法可以获取枚举的所有常量?

解析

values()是编译器自动为每个枚举类型生成的静态方法,返回包含所有枚举常量的数组。

6
以下代码中,哪个是正确的枚举常量定义?
public enum Size { // 选项A SMALL("S", 1), MEDIUM("M", 2), LARGE("L", 3); private String code; private int value; Size(String code, int value) { this.code = code; this.value = value; } }

解析

这是正确的带参数枚举定义。枚举常量用逗号分隔,最后一个常量后用分号结束,然后定义字段和构造方法。

7
关于枚举的比较,以下说法错误的是?

解析

枚举常量不能使用 > 和 < 直接比较,需要使用compareTo()方法。枚举支持 == 和 equals() 比较,并且实现了Comparable接口。

8
以下哪种情况最适合使用枚举?

解析

枚举最适合表示固定的、有限的常量集合,如订单状态、星期几、颜色等。订单状态是典型的枚举应用场景。

9
以下代码的输出结果是什么?
enum Color { RED, GREEN, BLUE } Color color = Color.valueOf("GREEN"); System.out.println(color.name());

解析

valueOf()方法根据字符串名称返回对应的枚举常量,name()方法返回枚举常量的名称字符串,输出为"GREEN"。

10
关于枚举的最佳实践,以下说法错误的是?

解析

不建议在业务逻辑中使用ordinal()方法,因为枚举常量的顺序可能会改变,导致业务逻辑出错。应该使用枚举的语义化属性。

测试完成!

0%

你答对了 0 题,共 10 题。