java - Beanshell 是否支持 java 8 流?
问题描述
当尝试在迭代 Map<String,List> 值的代码段下执行时,它会在符号 > 处引发 beanshell 解析异常。我可以解决这个问题的任何解决方案吗?
map.entrySet().stream().forEach(map -> {
if (map.getValue().stream().anyMatch(s -> groupDN.startsWith(s.toUpperCase()))) {
return "DONE";
}
;
});
异常运行规则:BeanShell 脚本错误:bsh.ParseException: Parse error at line 30, column 22. 遇到:> BSF info: Test_RO at line: 0 column: columnNo
解决方案
Java 8+ Streams本身实际上“只是”一堆 Java 库类。
您在这里真正要问的是 BeanShell 是否支持编写使用 Streams 的惯用 Java 代码所需的以下 Java 语言功能:
- Java 5 的泛型类型,
- 来自 Java 8 的 lambdas 和类型推断。
据我所知,所有这些的答案都是“不”。BeanShell 3.0 的路线图上有泛型类型(请参阅https://github.com/beanshell/beanshell#development-road-map),但未提及 lambdas 和类型推断。
如果您想要一个支持所有 Java 语言的交互式 Java REPL,您可能会更好地查看“jshell”,它是从 Java 9 开始的标准 Java SE 的一部分。显然它可以嵌入...
推荐阅读
- mysql - 如何将 GCP 项目中的 MySQL 实例连接到 AWS Lambda 函数?
- elasticsearch - Logstash elasticsearch 输出插件 - 从元数据字段填充 api_key 不起作用
- angular - 找不到在 Angular 中导入 Firebase 身份验证
- python - register_config_loader 中的 TemplatedConfigLoader 未替换 catalog.yml 中的模式(kedro)
- c++ - dart:ffi 中结构的数组成员
- python - Pyspark:从不同的目录加载类似的拼花地板,并以文件夹名称作为一列组合成一个 DataFrame
- c++ - 我应该在使用数组时引用它们的元素吗?
- python - 将 3d pandas DataFrame 转换为 Numpy ndarray
- python - __setattr__ 和 __getattribute__ 在 Python 中如何交互?
- html - ISSUE: Border-Image 在 safari 而不是 chrome 上拉伸