java 怎么用泛型设计一个通用的MAP来接收所有类型参数
时间: 2024-09-06 07:02:40 浏览: 38
java--泛型编程
在Java中,你可以使用泛型来设计一个通用的`Map`,以便它可以存储任意类型的键值对。通过指定`? extends`关键字,你可以声明这个map可以接受任何实现了`Map.Entry`接口并有公共无参构造函数的对象作为元素。以下是一个简单的例子:
```java
import java.util.Map;
public class GenericMap<K, V> {
private Map<K, V> map;
public GenericMap() {
this.map = new HashMap<>(); // 使用默认的HashMap,也可以换其他实现
}
public void put(K key, V value) {
map.put(key, value);
}
public V get(K key) {
return map.get(key);
}
// 其他常用的map操作可以添加进来...
public void clear() {
map.clear();
}
}
```
在这个`GenericMap`类中,`K`和`V`是类型参数,分别代表键和值的类型。这样,当你实例化这个类时,可以传入任何类型的`K`和`V`:
```java
GenericMap<Integer, String> intStringMap = new GenericMap<>();
GenericMap<MyCustomClass, YourOtherClass> customMap = new GenericMap<>();
```
阅读全文