我正在尝试编写一个Map构建器.其中一个构造函数将允许客户端指定他们希望构建的Map类型
public class MapBuilder {
private Map map;
/**
* Create a Map builder
* @param mapType the type of Map to build. This type must support a default constructor
* @throws Exception
*/
public MapBuilder(Class extends Map> mapType) throws Exception {
map = mapType.newInstance();
}
// remaining implementation omitted
}
目的是应该可以使用以下方法构造构建器的实例:
MapBuilder builder = new MapBuilder(LinkedHashMap.class);
要么
MapBuilder builder = new MapBuilder(HashMap.class);
似乎构造函数参数的类型签名当前不支持此,因为上面的行导致“无法解析构造函数”编译错误.
如何更改构造函数以使其接受仅实现Map的类?