剑指Offer —— 面试题(九)

什么是泛型

Java中一种不确定的数据类型,本质是参数化类型。由于集合中可以存储各种类型的对象,但是使用时往往需要进行类型转换,非常不方便。合理的使用泛型提供了编译时的类型安全,确保能把正确类型的对象放入集合中。

Java的泛型时如何工作的

泛型是通过类型擦除来实现的,编译器在编译时擦除了所有类型相关的信息,所以在运行时不存在任何类型相关的信息。你无法在运行时访问到类型参数,因为编译器已经把泛型类型转换成了原始类型。

什么是泛型中的限定通配符和非限定通配符

有两种限定通配符,一种是<? extends T>,另一种是<? super T>。

< ? >表示了非限定通配符,因为< ? >可以用任意类型来替代。

泛型中extends和super的区别

  • < ? extends T > 表示包括T在内的任何T的子类
  • < ? supere T > 表示包括T在内的任何T的父类

Array中可以用泛型吗

Array不支持泛型,但是List支持泛型,可以提供编译器的类型安全保证。

泛型的应用场景

当类中要操作的引用数据类型不确定的时候,过去使用 Object 来完成扩展,JDK 1.5后推荐使用泛型来完成扩展,同时保证安全性。

成功需要时间
不能一蹴而就
努力工作
坚持不懈
保持耐心

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值