当前位置: 首页 > 知识库问答 >
问题:

Java 8 Eclipse Luna 4.4 GWT 2.8错误:Lambda表达式仅在源代码级别1.8或以上才允许使用

彭星津
2023-03-14
public class MyBox extends DialogBox {

private HandlerRegistration resizeHandler = null;
private static final int TIME_GAP = 500;
private Timer resizeTimer = new Timer() {
    @Override public void run() {
        center();
    }
};

@Override
protected void onLoad() {
    addResizeListener();
}

@Override
protected void onUnload() {
    resizeTimer.cancel();
    resizeHandler.removeHandler();
}

private void addResizeListener() {
    this.resizeHandler = Window.addResizeHandler(
            (ResizeEvent event)->{resizeTimer.schedule(TIME_GAP);});
}
[ERROR] Line 117: Lambda expressions are allowed only at source level 1.8 or above
     [ERROR] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly
    null

还是让我犯了错误。有什么想法吗?多谢!

共有1个答案

公冶鸣
2023-03-14

错误在这里:

private void addResizeListener() {
this.resizeHandler = Window.addResizeHandler((ResizeEvent event)->
         {resizeTimer.schedule(TIME_GAP);});}

通常,它应该用红色突出显示它,并且根本不允许编译。但是,不知何故,它设法忽略了它并开始编译。lambda函数的正确形式是:

private void addResizeListener() {
        this.resizeHandler = Window.addResizeHandler(event -> 
        {resizeTimer.schedule(TIME_GAP);});}

丢弃所有最新的更改和git pull从最后一点解决了这个问题。我不明白为什么以前没有用红色突出显示它。

 类似资料:
  • 我在构建Cordova Android应用程序时收到了这个错误信息。 错误:(159,66)错误:source 1.7中不支持lambda表达式(使用source 8或更高版本启用lambda表达式) 在我的build.gradle(模块android)和build.gradle(模块CordovaLib)上设置了以下compileOptions,如下所示:

  • 很高兴知道java在java版本8中引入了Lambda表达式。 我当时在Android Studio工作。并且我注意到显示了下划线并变成了灰色,如下所示: 因此,我在该行执行了操作,并找到了用Lambda表达式替换代码的选项,如下所示: 其结果如下: 运行代码后,它显示了以下错误: 错误:(160,69)错误:source 1.7中不支持lambda表达式(使用source 8或更高版本启用lam

  • 我现在正在学习如何使用lambda表达式,我已经看到了一些带有简单示例的教程: 但是我的编译器显示这个错误: 我是不是忘了什么?

  • 我正在执行Stripes集成步骤,在步骤2.1中发现我的代码有一个错误(https://stripe.com/docs/connect/collect-then-transfer-guide#create-账户链接) 如何修复此错误? 代码: 错误: 仅当“模块”选项设置为“esnext”或“系统”且“目标”选项设置为“es2017”或更高时,才允许使用顶级“等待”表达式。ts(1378)

  • 问题内容: 我有以下代码: 当我通过main方法运行它时,它运行良好,但是当我尝试对其进行编译时,抛出以下错误: 我正在使用Eclipse IDE,并尝试通过命令行进行编译。 问题答案: 默认情况下,使用Java 5来编译类。引用其文档: 还要注意,当前的默认源设置是1.5,默认目标设置是1.5,与运行Maven的JDK无关。如果要更改这些默认值,则应按照设置Java编译器的- source和-t

  • 问题内容: 在运行Java程序时在Eclipse中出现以下错误 虽然我使用的是Java 1.7.25,并且所有的eclipse设置都已到位,但不确定为什么会出现此错误 解。 通过使用Maven在Eclipse中更新项目解决了问题。 问题答案: 尽管您使用的是Java 1.7,但仍可以像从Java 1.6编译器一样编译源代码(例如,对于交叉编译很有用)。如hivam Tiwari在Eclipse中所