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

此语言级别不支持Lambda表达式[重复]

梅飞宇
2023-03-14

我有一个使用火花的Java类。我需要从JavaRDD过滤掉标头。这就是我想做的。

String first = data.first();
JavaRDD<String> filteredData = data.filter((String s) -> {return !s.contains(first);});

但是,这段代码data.filter((String s)-


共有1个答案

单于奕
2023-03-14

你可以在Java7上使用lambdas,但它有点复杂-

你也可以在没有lambdas的情况下做同样的事情。Lambdas可以很容易地通过名类表示,但是它要详细得多。

final String first = data.first();
JavaRDD<String> filteredData = data.filter(new Function<String, Boolean>() {
  @Override public Boolean call(String s) {
    return !s.contains(first);
  }
});
 类似资料:
  • 问题内容: 我有一个使用Spark的Java类。我需要从JavaRDD过滤出标头。这就是我要这样做的方式。 但是,此代码无法编译。IntelliJ IDE表示“此语言级别不支持Lambda表达式”。 问题答案: 您可以在Java 7上使用lambda,但涉及到一点点- 您必须使用Retrolambda之类的东西。 同样,您也可以在没有lambda的情况下执行相同的操作。Lambda可以通过匿名类轻

  • 我正在测试Java8的一些新特性,并将该示例复制到我的IDE(最初是Eclipse,然后是IntelliJ),如下所示 Eclipse不支持lambda表达式,IntelliJ不断报告错误

  • 我刚刚开始从事一个Java项目,并使用IntelliJ从GitHub下载了源代码--我以前从未使用过IntelliJ,但我被告知它是一个比Eclipse好得多的IDE(大约四年前我上次进行Java开发时使用的是Eclipse)。 当我试图在计算机上本地构建源代码时,从GitHub中提取了最新的工作版本,我在几行不同的代码上得到了一个编译错误--错误如下: 错误:(27,34)Java:-sourc

  • 我使用的是IntelliJ IDEA Ultimate 2016.2.1,将项目SDK设置为我的1.8版本,项目语言级别设置为8,模块SDK设置为我的1.8版本,JDK主页路径设置为/library/java/javavirtualmachines/jdk1.8.0_91.JDK/contents/home。 我已重新启动IDE。 编辑: 在Intellij的系统之外用termianl运行grad

  • 我在Eclipse中打开了maven项目。但当我做清洁和安装,我得到以上的错误。 我将构建路径改为使用SE1.8,我的编译器也配置为使用1.8。您可以在下面的屏幕截图中看到这一点。 我在project explorer中也看到了小红叉。你可以在下面的图片中看到这一点。 我不确定为什么maven在Eclipse中配置为使用1.8时使用SE1.7。

  • IntelliJ向我显示了这个错误 我刚做了我的新电脑,我的java东西都不工作...我第一次尝试的时候,我的普通Intellij正在工作,但是我的Android Studio不会安装,因为它找不到jdk的路径。这是我问的问题。因为那不起作用,我不得不多次重新安装java,现在我的IntelliJ不起作用了。以下是错误的图片(我得到一个错误,告诉我每个循环在此语言级别不支持)。 我试图在我的D:驱