为什么我不能在JAVA项目中实现Streams功能?

为什么我不能在JAVA项目中实现Streams功能?,java,functional-programming,compiler-warnings,java-stream,local-variables,Java,Functional Programming,Compiler Warnings,Java Stream,Local Variables,我是JAVA编程的初学者。 最近,我尝试使用流的map&filter功能,如下面的代码所示 List<String> strList = Arrays.asList("abc", "", "bcd", "", "defg", "jk"); long count = strList.stream().filter(x -> x.isEmpty()).count(); System.out.printf("List %s has %d empty strin

我是JAVA编程的初学者。 最近,我尝试使用流的map&filter功能,如下面的代码所示

    List<String> strList = Arrays.asList("abc", "", "bcd", "", "defg", "jk");
    long count = strList.stream().filter(x -> x.isEmpty()).count();
    System.out.printf("List %s has %d empty strings %n", strList, count);
然而,编译器总是抱怨我需要创建局部变量x

也许我失去了一些在谷歌上很容易找到相关讨论的基本步骤

我的JAVA编译器版本是J2SE 1.5,我将JAVA.util.stream.*导入到我的文件中


谢谢

流和lambda表达式是Java 8的功能。升级编译器。

流和lambda表达式是Java 8的功能。升级您的编译器。

我只能从我的属性->Java编译器中看到版本1.3~1.7?如何找到Java8?我想我找错方向了@林鼎棋 您应该下载Java8SDK以及支持它的IDE@林鼎棋 在这种情况下,您只需要升级IDE。例如,如果您使用的是Eclipse,请下载最新版本,那么您已经有了Java8。转到首选项,在搜索栏中键入jre,选择Intalled jre并选择JDK8的路径@林鼎棋 看起来您正在使用Eclipse。它是哪个版本的Eclipse?我只能从我的属性->Java编译器中看到版本1.3~1.7?如何找到Java8?我想我找错方向了@林鼎棋 您应该下载Java8SDK以及支持它的IDE@林鼎棋 在这种情况下,您只需要升级IDE。例如,如果您使用的是Eclipse,请下载最新版本,那么您已经有了Java8。转到首选项,在搜索栏中键入jre,选择Intalled jre并选择JDK8的路径@林鼎棋 看起来您正在使用Eclipse。它是Eclipse的哪个版本?