我很好奇为什么我们需要 Java7 中的菱形运算符?我们可以使用一个简单的静态泛型方法来模拟这种行为,该方法可以添加到集合 API 中:
HashMap的方法代码:
public static <R, S> HashMap<R, S> getInstance() {
return new HashMap<R, S>();
}
我们可以这样使用它:
Map<String, List<String>> m = HashMap.getInstance();
并在您可以尝试此行为时编写代码:
import java.util.HashMap;
import java.util.Map;
import java.util.List;
import java.util.Arrays;
public class Diamond {
public static void main(String... args) {
Map<String, List<String>> m = getInstance();
m.put("Hello", Arrays.asList("Peter", "Robert"));
System.out.println(m.toString());
}
public static <R, S> HashMap<R, S> getInstance() {
return new HashMap<R, S>();
}
}