Diamond运算符在OpenJDK下编译,但不在SunJDK 7下编译

时间:2013-02-07 15:53:03

标签: java playframework-1.x openjdk

希望这不是重复,我搜索并发现了一些相关问题,但没有关于Java的差异。

private List<Stuff> apps = new ArrayList<Stuff>();
// compiles under both


private List<Stuff> apps = new ArrayList<>();
// compiles under OpenJDK 7
// SunJDK 7 Error raised is : Syntax error on token "<", ? expected after this token

为什么会出现这种情况?我喜欢在我的* nix服务器和开发盒上使用OpenJDK,但有时我会使用其他人的Windows笔记本电脑进行开发和测试,这是我第一次在两个版本之间遇到问题。非常感谢任何建议或想法!

我也使用Netbeans 7.2(在Windows或Debain上没有标记错误)。该程序使用Play Framework 1.2.5并将java源设置为1.7。

javac -version
javac 1.7.0_01

java -version
java version "1.7.0_01"
Java<TM> SE Runtime-Environment <build 1.7.0_01-b08>

并检查Netbeans到处都是我可以来源的1.7我可以告诉他。通过命令行编译产生了上述相同的错误。

?回答

我更新到最新版本的SunJDK / Java(1.7.0_13),问题已解决。

1 个答案:

答案 0 :(得分:1)

我更新到最新版本的SunJDK / Java(1.7.0_13)并解决了问题。