希望这不是重复的,我搜索并发现了一些有相关问题但没有关于 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),问题已为我解决。
最佳答案
我更新到最新版本的 SunJDK/Java (1.7.0_13),问题已解决。
关于java - Diamond Operator 在 OpenJDK 而非 SunJDK 7 下编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14755307/