Groovy Array.pop () возвращает Нет сигнатуры метода: java .lang.String.pop () - PullRequest
0 голосов
/ 08 января 2020

Я использую groovy в Дженкинсе, и есть эта строка, в которой мне нужно получить последнее слово. Позвольте просто сказать, что строка STATUS = "EXECUTE SIT". Так что я сделал, чтобы разделить строку, чтобы я получил массив STATUS.split(), а затем выдвинул, чтобы я мог получить строку SIT STATUS.split().pop(). Но он возвращает ошибку No signature of method: java.lang.String.pop() Я не очень знаком с Groovy или Java, поэтому я не знаю, правильно ли я использую эти методы.

1 Ответ

2 голосов
/ 08 января 2020

Я почти уверен, что ошибка, которую вы получаете, на самом деле No signature of method: [Ljava.lang.String;.pop() is applicable for argument types: () values: []. Обратите внимание на [L - это означает, что у вас есть массив, а не список.

split() возвращает массив строк (String[]), который не поддерживает использование pop() или многие другие улучшения Groovy.

Вместо этого используйте tokenize(), который возвращает List. После того, как у вас есть список, вы можете использовать pop() или более, last(). pop() был изменен в Groovy 2.5, чтобы удалить первый элемент вместо последнего. Используйте removeLast(), если вы действительно хотите удалить последний элемент.

"EXECUTE SIT".tokenize().last()
===> SIT
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...