Java泛型常见面试题
Posted johnteslaaa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java泛型常见面试题相关的知识,希望对你有一定的参考价值。
1. Java的泛型是如何工作的 ? 什么是类型擦除 ?
https://www.cnblogs.com/JohnTeslaaa/p/12706786.html
2.List<? extends T>和List <? super T>之间有什么区别 ?
https://www.cnblogs.com/JohnTeslaaa/p/12706615.html
3.如何编写一个泛型方法,让它能接受泛型参数并返回泛型类型?
https://www.cnblogs.com/JohnTeslaaa/p/12706615.html
4.Java中如何使用泛型编写带有参数的类?
https://www.cnblogs.com/JohnTeslaaa/p/12706615.html
5.编写一段泛型程序来实现LRU缓存?
- Map中带入参数<K,V>
- 重写LinkedHashMap的removeEldestEntry()的方法即可
package LRU;
import java.util.LinkedHashMap;
import java.util.Map;
public class UseLinkedHashMapCache<K, V> extends LinkedHashMap<K, V> {
private int cacheSize;
public UseLinkedHashMapCache(int cacheSize) {
super(16, 0.75f, true);
// true 表示让 linkedHashMap按照访问顺序来进行排序,最近访问的放在头部,最老访问的放在尾部。
this.cacheSize = cacheSize;
}
@Override
protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
// 当map中的数据量大于指定的缓存个数的时候,就自动删除最老的数据。
return size() > cacheSize;
}
}
6.你可以把List传递给一个接受List
不可以,参考https://www.cnblogs.com/JohnTeslaaa/p/12708928.html
附录:试题来源参考
https://www.cnblogs.com/huajiezh/p/6411123.html
以上是关于Java泛型常见面试题的主要内容,如果未能解决你的问题,请参考以下文章