【发布时间】:2011-02-07 23:29:40
【问题描述】:
我安装了JDK 7 和Eclipse 3.6M6。然后,我在 Eclipse 中添加了 JRE 7 作为新的 JRE 执行环境,并将编译器合规级别设置为 Java 7。我可以使用 JDK 7 附带的javac 通过命令行编译以下代码。
import java.util.HashMap;
import java.util.Map;
public class Try {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
}
}
但是,Eclipse 给出了以下错误消息。
HashMap 类型的参数数量不正确;无法使用参数对其进行参数化 Try.java /TryJava7/src 第 7 行 Java 问题
标记“
尽管我已将编译器的合规级别设置为 Java 7,但 Eclipse 似乎还不理解 Java7 语法。是否可以在 Eclipse 中使用 Java 7?
以下是.classpath的内容。
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="output" path="bin"/>
</classpath>
还有,下面是.settings/org.eclipse.jdt.core.prefs的内容。
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.7
【问题讨论】:
-
@Oscar Reyes,我认为 Java 7 闭包规范尚未正式发布。
-
@Oscar 闭包计划用于 jdk8