一、填空题
1.泛型的作用是支持类型参数化。
2.泛型可以用在类、接口和方法的定义中,分别称为泛型类、型接口和 泛型方法。
3.在Java程序中,经常会有参数类型或返回值类型不确定的方法,这种方法在Java中统称为泛型方法。
4.泛型接口的实现类有两种定义方式,一种是直接接口中明确地给出泛型类型,另一种是直接在实现后声明泛型。
二、判断题
1.在泛型
2.在实际应用中,只有泛型类被使用时,该类所属的类型才能被明确。对
3.合理使用泛型可以避免在程序中进行强制类型转换。对
4.定义泛型方法时,返回值类型必须写在类型参数列表的后面。对
5.在泛型中,类型参数可以用在方法体中修饰局部变量,也可以修饰方法的返回值。对
三、选择题
1.下列关于泛型的说法中,错误的是(D)
A、泛型是JDK5.0的新特性
B、ArrayList
C、泛型中的通配符?用于表示任意类型
D、在对泛型类型进行参数化时,类型参数的实例必须是基本类型
2.下列选项中,哪个可以正确地定义一个泛型(A)
A、ArrayList
B、ArrayListlist
C、ArrayListlist
D、ArrayList
3.Java中,在没有泛型之前,集合把所有对象当成哪种类型的数据进行处理(A)
A、Object B、String C、int D、数组
4.在Java程序开发中,使用泛型进行程序开发的优点有(AC)(多选)
A、提高代码的可重用性
B、提高代码的可读性
C、在编译器进行类型检查,保证类型安全
D、以类型转换异常的形式保证类型安全
简答题
1.简述泛型的优点。
(1)提高类型的安全性。
泛型的主要目标是提高Java程序的类型安全性,即可以通过泛型定义对变量类型进行限制,在对变量类型限制之后编译器可以更好的进行类型验证。
(2)避免强制类型转换。
使用泛型的另一个好处是避免源代码中的许多强制类型转换。这使得代码可读性更高,并且减少出错机会。尽管减少强制类型转换可以降低使用泛型类代码的复杂度,但是声明泛型变量会带来相应的复杂操作。
编程题
请按照下列提示编写一个泛型接口以及其实现类。
提示:
创建一个泛型接口Generic
创建一个实现类GenericImpl
- interface Generic
{ - public abstract T get(T t);
- }
- class GenericImpl
implements Generic{ - public T get(T t){
- System.out.println(t);
- return t;
- }
- }
- public class Examplle{
- public static void main(String[]args) {
- Generic
gen1=new GenericImpl(); - gen1.get("Hello");
- Generic
gen2=new GenericImpl<>(); - gen2.get(2);
- }
- }
或
- interface Generic
{ - public abstract void get(T t){}
- }
- class Generic
implements Generic{ - public void get(T t){}
- }