我在公共类中为Hashmap创建工厂方法。
public class MyList {
Hashmap list = newMap(); //is this function called properly here?
public static final Hashmap newMap() {
return Hashmap(String, boolean);
}
}
以最简单的方式,如果要为键/值对保留字符串和布尔值,如何设置工厂方法?
我被语法所困扰。
我只想返回一个新的Hashmap对象,并使用newMap()作为工厂方法
最佳答案
HashMap
具有用于键和值的通用类型,因此您需要将这些类型指定为
public static HashMap<String, Boolean> newMap() {
// ...
}
在里面,您将创建地图为
return new HashMap<String, Boolean>();
或使用菱形运算符作为
return new HashMap<>();
(因为签名中已包含类型)您也可以将类型作为参数传递
public static <K, V> HashMap<K, V> newMap(Class<K> classKey, Class<V> classValue) {
return new HashMap<>();
}
采用
public static void main(String[] args) {
Map<String, Boolean> map = newMap();
Map<Integer, Double> mapID = newMap(Integer.class, Double.class);
}
关于java - 如何在工厂方法中为Hashmap <String Boolean>创建构造函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53856767/