Java泛型习题

  1. 为什么使用泛型 ?

    泛型是为了解决在数据在装入集合时的类型都被当做Object对待,从而失去本身特有的类型,从集合里读取时,还要强制转换,java是所谓的静态类型语言,意思是在运行前,或者叫编译期间,就能够确定一个对象的类型,这样做的好处是减少了运行时由于类型不对引发的错误。但是强制类型转换是钻了一个空子,在编译期间不会有问题,而在运行期间,就有可能由于错误的强制类型转换,导致错误,这个编译器无法检查到。有了泛型,就可以用不着强制类型转换,在编译期间,编译器就能对类型进行检查,杜绝了运行时由于强制类型转换导致的错误。
  2. Java 虚拟机支持泛型么 ? 什么是泛型擦除 ?

    不支持

    擦除是将泛型类型以其父类代替,如String 变成了Object等。其实在使用的时候还是进行带强制类型的转化,只不过这是比较安全的转换,因为在编译阶段已经确保了数据的一致性。

  3. 怎么使用泛型 ?

    在集合声明和实现的后面加上< >,在里面写上指定的类型,这个集合就只能存放指定的元素类型

  4. K , V 代表什么意思 ?

    k代表Map中的 key键

    v代表Map中的value键

  5. 自定义类或者接口怎么使用泛型 ?

    1.创建泛型接口,在接口名后定义通配符T.

    2.接口中 定义泛型方法,参数不再是明确的类型,而是通配符T

    3.类实现接口将通配符替换为明确的类型。

    注释:以上习题答案均为自己书写,并非标准答案

你可能感兴趣的:(Java泛型习题)