我有一个小程序,它使用一些 lambda 表达式来处理事件。这在我的 Linux 机器上编译和运行完美,但在 Windows 中我得到一个“表达式错误的非法开始”。我应该用不同的方式写这个吗?这是显示结构的片段。当出现此错误时,错误消息中的标签指向“e ->”。同样,这在使用 1.8.0_77 版 java 的 linux 中按预期编译和运行。感谢您的帮助。我在 Windows 中使用了相同的 java 版本。
rdoChecking.addActionListener(e -> {
if (e.getActionCommand().equals("disable")){
rdoChecking.setSelected(false);
rdoSavings.setSelected(true);
}else {
rdoChecking.setSelected(true);
rdoSavings.setSelected(false);
}
});
最佳答案
我不确定这是否完全回答了我的问题,但我能够在不更改任何代码的情况下让它工作。我所做的是将代码复制并传递到 Windows 上的一个新的 netbeans 项目中,一次一个类,然后从那里重新编译。在 netbeans 中,它编译没有错误,但我在尝试从命令行编译时仍然遇到相同的错误。
关于java - Windows 中出现奇怪的 Java lambda 错误,但 Linux 中没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36669788/