Java 使用1.7.0u51但语法错误';每个';语句仅在源级别为1.5时可用

Java 使用1.7.0u51但语法错误';每个';语句仅在源级别为1.5时可用,java,java-7,Java,Java 7,在上面的代码中,我编译时遇到如下错误 String[] str ={"a", "b","c", "d"}; for (String lists : str) { System.out.println(lists); } 请帮助我解决这个问题,我正在使用java1.7.0\u51version,OS-linux-Deepin 提前感谢您需要告诉javac您使用的是哪个版本的java。这是通过-source和-target参数完成的。如果您使用的是Maven,则可以在pom.xml中通过编译器插件

在上面的代码中,我编译时遇到如下错误

String[] str ={"a", "b","c", "d"};
for (String lists : str)
{
System.out.println(lists);
}
请帮助我解决这个问题,我正在使用
java1.7.0\u51
version,
OS-linux-Deepin


提前感谢

您需要告诉javac您使用的是哪个版本的java。这是通过-source和-target参数完成的。如果您使用的是Maven,则可以在pom.xml中通过编译器插件进行设置;如果您使用的是Ant,则可以在javac任务中进行设置。

您可以使用-source手动设置源版本兼容性

ERROR in CollectionList.java (at line 19)
for (String lists : str)
     ^^^^^^^^^^^^^^^^^^
Syntax error, 'for each' statements are only available if source level is 1.5

将是此问题的解决方案

您使用的是哪个版本的JDK?看起来您的JRE可能是1.7,但您的JDK可能是。您的命令行编译起来是什么样子的?您使用的是哪个ide,还是从命令行编译的?您在eclipse上吗?您是如何编译的?我正在使用终端从linux deepin进行编译
javac -source 5 YourFile.java
javac -source 7 YourFile.java