【发布时间】:2016-04-16 21:10:25
【问题描述】:
我有一个小程序,它使用一些 lambda 表达式来处理事件。这编译并在我的 linux 机器上完美运行,但在 Windows 中我得到一个“非法开始表达式错误”。我应该用不同的方式写这个吗?这是一个显示结构的 sn-p。出现此错误时,错误消息中的标签指向“e ->”。同样,这在使用 java 版本 1.8.0_77 的 linux 中按预期编译和运行。谢谢你的帮助。我在 Windows 中使用了相同的 java 版本。
rdoChecking.addActionListener(e -> {
if (e.getActionCommand().equals("disable")){
rdoChecking.setSelected(false);
rdoSavings.setSelected(true);
}else {
rdoChecking.setSelected(true);
rdoSavings.setSelected(false);
}
});
【问题讨论】:
-
你在使用 IDE 吗?
-
是和不是。我最初是在 intellij 中编写的,但与往常一样,我使用 javac 从命令行进行了单独的编译,以仔细检查错误。在 linux 中 - 没有错误;在 Windows 中 - 很多错误。
-
javac -version有什么用?例如我进入 Windows:javac 1.8.0_77. -
另外,我确实在 linux 中创建了一个可执行的 jar 文件,并且能够在 windows 10 上运行它而没有错误。 Windows 会运行它,只是不会编译它。
-
@PaulVargas 和你一样。为了确定,我更新了两台机器。
标签: java linux windows lambda javac