泛型面试题

目录

泛型用过吗?讲一下什么是泛型?

你知道什么是类型擦除吗?

在泛型中的限定通配符和非限定通配符?


泛型用过吗?讲一下什么是泛型?

泛型是jdk1.5提出的,在没有泛型之前,所有存入集合的数据都被认为是Object类,当获取一个值的时候就需要强制类型转换,因为没有错误检查,所以可以向集合中添加任意类型对象。而泛型的出现就防止了这种情况的发生,它提供了编译期的类型检查,确保输入的类型匹配才可以通过编译,这就有效的防止了运行时出现ClassCastException异常。

你知道什么是类型擦除吗?

泛型信息只存在于代码编译阶段,在进入jvm之前,与泛型相关的信息会被擦除掉,这就是类型擦除,在运行时不存在任何类型,例如 List<String>在运行时仅用一个List来表示

在泛型中的限定通配符和非限定通配符?

这是另一个非常流行的Java泛型面试题。限定通配符对类型进行了限制。有两种限定通配符,一种是<? extends T>它通过确保类型必须是T的子类来设定类型的上界,另一种是<? super T>它通过确保类型必须是T的父类来设定类型的下界。泛型类型必须用限定内的类型来进行初始化,否则会导致编译错误。另一方面<?>表 示了非限定通配符,因为<?>可以用任意类型来替代。更多信息请参阅我的文章泛型中限定通配符和非限定通配符之间的区别。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仰望星空的鑫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值