beanshell支持Java8流吗?

7cwmlq89  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(425)

当尝试在下面的代码段中执行map<string,list>的迭代值时,它在symbol>处抛出beanshell解析异常。我能找到解决这个问题的办法吗?

map.entrySet().stream().forEach(map -> {
    if (map.getValue().stream().anyMatch(s -> groupDN.startsWith(s.toUpperCase()))) {
        return "DONE";
    }
    ;
});

异常运行规则:beanshell脚本错误:bsh.parseexception:第30行第22列的分析错误。遇到:>bsf信息:第0行的测试:列号

8ljdwjyq

8ljdwjyq1#

Java8+流本身实际上“只是”一群java库类。
这里您真正要问的是beanshell是否支持以下java语言特性,这些特性是编写使用流的惯用java代码所必需的:
java 5中的泛型类型,
来自Java8的lambdas和类型推断。
据我所知,所有这些问题的答案都是“不”。泛型类型在beanshell 3.0的路线图上(参见https://github.com/beanshell/beanshell#development-路线图),但没有提到lambdas和类型推断。
如果您想要一个支持所有java语言的交互式java repl,那么最好看看“jshell”,它是Java9以后的标准JavaSE的一部分。显然它可以被嵌入。。。

相关问题