Java eclipse与构造函数方法调用不匹配
在eclipse中按下ctrl+space时,我记得它用于匹配菱形操作符中数据类型的对象。但现在已经不是了。例如:Java eclipse与构造函数方法调用不匹配,java,eclipse,methods,constructor,keyboard-shortcuts,Java,Eclipse,Methods,Constructor,Keyboard Shortcuts,在eclipse中按下ctrl+space时,我记得它用于匹配菱形操作符中数据类型的对象。但现在已经不是了。例如: publicstaticvoidmain(String[]args){ HashMap=newHashMap() } 不管怎样,还是要把它打开? thnx.可能是因为您使用的是Java7编译器,它不需要菱形运算符中的参数 在这里阅读更多信息:您正在运行Java 7吗 这是他们添加的一个新功能,名为“” 可以替换调用构造函数所需的类型参数 具有一组空类型参数()的泛型类的 因为编译器
publicstaticvoidmain(String[]args){
HashMap=newHashMap()
}
不管怎样,还是要把它打开?
thnx.可能是因为您使用的是Java7编译器,它不需要菱形运算符中的参数
在这里阅读更多信息:您正在运行Java 7吗 这是他们添加的一个新功能,名为“” 可以替换调用构造函数所需的类型参数 具有一组空类型参数()的泛型类的 因为编译器可以从上下文推断类型参数。这 一对尖括号非正式地称为菱形 在Java 7之前:
Map<String, List<String>> myMap = new HashMap<String, List<String>>();
Map myMap=newhashmap();
现在您可以执行以下操作:
Map<String, List<String>> myMap = new HashMap<>();
Map myMap=newhashmap();
在获得该功能之前,您需要导入HashMap您使用的是哪一版本的java?当编译器设置为java 7 compliance时,Eclipse不会填写类型,因为在java 7中,在这种情况下可以省略type参数。在Java 6中,它不是。你的意思是我不必显式地把它放在菱形中,它会从上下文中找到它吗?@Gal如果你的编译器设置为Java 7,是的。它是7,明白了!