eclipse与构造函数方法调用不匹配

时间:2013-11-05 09:37:48

标签: java eclipse methods constructor keyboard-shortcuts

在eclipse中按 ctrl + space 时我记得它曾用于匹配菱形运算符中数据类型的对象。但它不再是了。例如:

public static void main(String[] args) {
HashMap<String, String> map = new HashMap<**MISSING**>() }

无论如何要把它重新打开? 日Thnx。

2 个答案:

答案 0 :(得分:1)

也许是因为你使用的是Java7编译器,它不需要菱形运算符中的参数。

在此处详细了解:http://docs.oracle.com/javase/7/docs/technotes/guides/language/type-inference-generic-instance-creation.html

答案 1 :(得分:1)

你在运行Java 7吗?

这是他们添加的一项名为“Type Inference for Generic Instance Creation”的新功能

  

您可以替换调用构造函数所需的类型参数   具有一组空类型参数(&lt;&gt;)的泛型类的长度   因为编译器可以从上下文中推断出类型参数。这个   一对尖括号被非正式地称为钻石。

在Java 7之前:

Map<String, List<String>> myMap = new HashMap<String, List<String>>();

现在你可以做到:

Map<String, List<String>> myMap = new HashMap<>();