gpt4 book ai didi

java - 从 Groovy 中的 List 获取文本

转载 作者:太空宇宙 更新时间:2023-11-04 10:16:39 25 4
gpt4 key购买 nike

我正在处理实现 groovy lambda 函数将文本从 List 集合获取到 List 集合的问题。原始java代码:

list.stream().map(WebElement::getText).collect(Collectors.toList());

我的 Groovy 版本失败:

list.stream().map({ WebElement } as String).collect(Collectors.toList())

groovy.lang.MissingMethodException: No signature of method: java.util.stream.ReferencePipeline$Head.map() is applicable for argument types: (java.lang.String) values: [quality1.CommonMethods$_clickSubMenuLeftBar_closure2@4e49ce2b] Possible solutions: map(java.util.function.Function), max(java.util.Comparator), min(java.util.Comparator), wait(), grep(), any() –

有人可以帮我如何让它工作吗?我试图使用类似的方法,如下所示:http://mrhaki.blogspot.com/2015/04/groovy-goodness-use-closures-as-java.html但没有成功。

最佳答案

Groovy 3.0(当前版本:3.0.0-alpha-3)将支持 lambda 表达式和方法引用,这要归功于新的 parrot 解析器 - http://groovy-lang.org/releasenotes/groovy-3.0.html

对于 Groovy 2.5.x 及更早版本,您必须替换方法引用:

WebElement::getText

有一个闭包:

{ el -> el.getText() }

最终的工作示例应如下所示:

list.stream().map{ el -> el.getText() }.collect(Collectors.toList())

关于java - 从 Groovy 中的 List<WebElement> 获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51634927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com