JAVA泛型详解专题测试
考察知识点
| 知识点模块 | 题目数量 | 题目编号 |
|---|---|---|
| 泛型类基础 | 3道 | Q001-Q003 |
| 泛型接口实现 | 2道 | Q005-Q006 |
| 泛型方法定义与调用 | 4道 | Q007,Q010-Q012 |
| 类型通配符PECS原则 | 3道 | Q013-Q014,Q017 |
| 类型擦除机制 | 3道 | Q019-Q020,Q024 |
| 泛型与继承关系 | 3道 | Q025,Q028-Q029 |
| 泛型与反射 | 1道 | Q032 |
| 泛型最佳实践 | 1道 | Q048 |
💡 参考答案在文末
判断题
1
由于类型擦除,在运行时完全无法获取任何泛型类型信息。
2
泛型类在实例化时必须指定具体的类型参数,如new Box()。
3
使用有界类型参数(Bounded Type Parameter)如可以限制类型参数范围,并提供更多可用方法。
4
一个类实现泛型接口时,既可以指定具体类型,也可以保留泛型参数成为泛型类。
5
类型参数可以继承其他类或实现接口,如表示T必须是Number或其子类。
6
泛型类中的静态方法可以使用类的类型参数,因为静态方法属于类。
单选题
7
以下代码的执行结果是什么?
Java
public static <T> T first(List<T> list) {
return list.get(0);
}
List<String> strings = Arrays.asList("a", "b", "c");
String result = first(strings);
8
关于泛型方法,以下说法正确的是:
9
Java标准库中的Comparable接口,以下哪种实现方式是正确的?
10
PECS原则的含义是什么?
11
关于泛型类的定义,以下哪个是正确的语法?
12
泛型类本身可以继承其他类吗?
13
Java泛型的类型擦除机制是什么?
多选题
14
关于泛型通配符的限制,以下说法正确的有哪些?
15
由于类型擦除,以下哪些情况会导致问题或限制?
16
以下哪个赋值语句是正确的?
17
关于Java反射中的Type体系,以下说法正确的有哪些?
填空题
18
泛型方法的类型参数声明必须在____________之前,语法格式为:____________。
19
Java泛型类常用的类型参数命名约定:____________表示任意类型,____________表示集合元素类型,____________表示键类型,V表示值类型,N表示数值类型。
简答题
20
请简述<? extends T>和<? super T>的区别及各自的适用场景。
参考答案
1.错误
2.正确
3.正确
4.正确
5.正确
6.错误
7.B
8.B
9.D
10.A
11.A
12.B
13.B
14.A;B;C;D
15.A;B;C;D
16.C;D
17.A;B;C;D
18.返回值类型;修饰符 <类型参数> 返回值类型 方法名(参数列表)
19.T;E;K
20.略
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码