java - Groovy Array.pop() 返回无方法签名:java.lang.String.pop()
问题描述
我在 jenkins 中使用 groovy,我需要在其中获取最后一个单词。假设字符串是STATUS = "EXECUTE SIT"
. 所以我所做的就是拆分字符串,这样我就可以得到一个数组STATUS.split()
,然后弹出这样我就可以得到 SIT 字符串STATUS.split().pop()
。但它返回一个错误No signature of method: java.lang.String.pop()
,我对 Groovy 或 Java 不太熟悉,所以我真的不知道我是否正确使用了这些方法。
解决方案
我很确定你得到的错误实际上是No signature of method: [Ljava.lang.String;.pop() is applicable for argument types: () values: []
. 注意[L
- 这意味着你有一个数组,而不是一个列表。
split()
String[]
返回一个不支持使用pop()
或许多其他 Groovy 增强功能的字符串 () 数组。
而是使用tokenize()
which 返回一个List
. 一旦你有了一个列表,你就可以使用pop()
或更恰当地使用last()
. pop()
在 Groovy 2.5 中更改为删除第一项而不是最后一项。removeLast()
如果您确实要删除最后一项,请使用。
"EXECUTE SIT".tokenize().last()
===> SIT
推荐阅读
- python - 在 Flask 的 base.html 中显示用户名
- python - 模糊模式匹配的替代方法
- javascript - 在 pug 模板中挂载组件
- pandas - groupby 组内的排名顺序
- ios - VideoToolBox中是否可以控制RGB到YUV矩阵的转换?
- ruby-on-rails - 根据 Rails 中的日期查询以获取结果?
- angular-validation - Angular 自定义验证错误消息不起作用
- apache-spark - Kafka S3 Sink Connector - 如何将分区标记为完整
- javascript - 尝试使用 JavaScript 设置 datetime-local
- firebase - 如何在firestore的文本字段中开始一个新段落