簡體   English   中英

在groovy中將數組設置為變量

[英]Set array to variable in groovy

Groovy的新手,不是Java愛好者。 在我的jenkinsfile中 ,我在做簡單的事情時遇到了問題。

SURL = new String[3]
for (int i = 0; i < 3; i++)
{ 
   url="value"
   SURL[i]="${url}"
}

在這個簡單的示例中,似乎SURL [0]到SURL [2]將被設置為“值”。 我收到錯誤消息:

java.lang.ArrayStoreException: org.codehaus.groovy.runtime.GStringImpl

任何幫助表示贊賞。 謝謝!

這似乎是一個非常人為的例子,我不確定您到底要做什么。

如果url已經是String為什么不將其直接添加到SURL 將其放在"${}"會給您一個GString

使用靜態類型的String數組不是很Groovy,僅使用列表即可。

def SURL = []
3.times {
    SURL << url
}

本示例使用重載的<<運算符將其追加到列表中。

如果要正確處理,請考慮顯式定義數組類型。 代替

def SURL = new String[3]
SURL[ 0 ] = "-- $a" // << here comes ArrayStoreException: org.codehaus.groovy.runtime.GStringImpl

String[] SURL = new String[3]
SURL[ 0 ] = "-- $a"

然后它會平穩運行,並且常規可以正確地將GString值發送到String

最終將其設置為這樣的字符串:

SURL[i]="${url}" as String

仍然不確定為什么它會以這種方式運行。 也許認為這是一個對象?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM